নিম্নলিখিত উদাহরণগুলি দেখায় যে কীভাবে ডকুমেন্ট, ফিল্ড এবং কালেকশন মুছে ফেলতে হয়।
AI অ্যাসিস্ট্যান্সের জন্য AI প্রম্পট
AI-এর মাধ্যমে সহায়তা পেতে, নিচের প্রম্পটটি আপনার AI কোডিং এজেন্টে (যেমন, Android Studio-তে Gemini, Antigravity, Claude Code, Codex এবং Cursor) কপি করুন। আপনি প্রম্পট কাস্টমাইজ করতে এবং আপনার এজেন্টের সাথে আইটারেট করতে পারবেন। ইনস্টলেশন সংক্রান্ত বিস্তারিত তথ্যের জন্য Firebase এজেন্ট সংক্রান্ত দক্ষতা দেখুন।
Help me use Firebase in my app.
1. Make sure that **Firebase agent skills** are installed and updated. For Claude Code, Codex, or Cursor agents, help me install the Firebase plugin. For other agents, run `npx skills add firebase/agent-skills`. Always try to use **Firebase agent skills** for Firebase-related tasks.
2. Help me delete documents, fields, and collections from Cloud Firestore in my app.
ডকুমেন্ট মুছুন
কোনও ডকুমেন্ট মুছে ফেলতে, নিম্নলিখিত ভাষা-নির্দিষ্ট delete() পদ্ধতি ব্যবহার করুন:
Web
deleteDoc() পদ্ধতি ব্যবহার করুন:
import { doc, deleteDoc } from "firebase/firestore"; await deleteDoc(doc(db, "cities", "DC"));
Web
delete() পদ্ধতি ব্যবহার করুন:
db.collection("cities").doc("DC").delete().then(() => { console.log("Document successfully deleted!"); }).catch((error) => { console.error("Error removing document: ", error); });
Swift
delete() পদ্ধতি ব্যবহার করুন:
do { try await db.collection("cities").document("DC").delete() print("Document successfully removed!") } catch { print("Error removing document: \(error)") }
Objective-C
deleteDocumentWithCompletion: পদ্ধতি ব্যবহার করুন:
[[[self.db collectionWithPath:@"cities"] documentWithPath:@"DC"] deleteDocumentWithCompletion:^(NSError * _Nullable error) { if (error != nil) { NSLog(@"Error removing document: %@", error); } else { NSLog(@"Document successfully removed!"); } }];
Kotlin
delete() পদ্ধতি ব্যবহার করুন:
db.collection("cities").document("DC") .delete() .addOnSuccessListener { Log.d(TAG, "DocumentSnapshot successfully deleted!") } .addOnFailureListener { e -> Log.w(TAG, "Error deleting document", e) }
Java
delete() পদ্ধতি ব্যবহার করুন:
db.collection("cities").document("DC") .delete() .addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void aVoid) { Log.d(TAG, "DocumentSnapshot successfully deleted!"); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "Error deleting document", e); } });
Dart
delete() পদ্ধতি ব্যবহার করুন:
db.collection("cities").doc("DC").delete().then( (doc) => print("Document deleted"), onError: (e) => print("Error updating document $e"), );
জাভা
delete() পদ্ধতি ব্যবহার করুন:
Python
delete() পদ্ধতি ব্যবহার করুন:
Python
delete() পদ্ধতি ব্যবহার করুন:
C++
Delete() পদ্ধতি ব্যবহার করুন:
db->Collection("cities").Document("DC").Delete().OnCompletion( [](const Future<void>& future) { if (future.error() == Error::kErrorOk) { std::cout << "DocumentSnapshot successfully deleted!" << std::endl; } else { std::cout << "Error deleting document: " << future.error_message() << std::endl; } });
Node.js
delete() পদ্ধতি ব্যবহার করুন:
Go
Delete() পদ্ধতি ব্যবহার করুন:
PHP
delete() পদ্ধতি ব্যবহার করুন:
Unity
DeleteAsync() পদ্ধতি ব্যবহার করুন:
DocumentReference cityRef = db.Collection("cities").Document("DC"); cityRef.DeleteAsync();
C#
DeleteAsync() পদ্ধতি ব্যবহার করুন:
Ruby
delete() পদ্ধতি ব্যবহার করুন:
আপনি কোনও ডকুমেন্ট মুছে দিলে, Cloud Firestore অটোমেটিক
তার সাবকালেকশনের মধ্যে থাকা ডকুমেন্ট
মুছে দেয় না। আপনি এখনও রেফারেন্সের মাধ্যমে সাবকালেকশন ডকুমেন্ট অ্যাক্সেস করতে পারবেন।
যেমন, আপনি /mycoll/mydoc-এ পেরেন্ট ডকুমেন্ট মুছে দিলেও
/mycoll/mydoc/mysubcoll/mysubdoc পাথে ডকুমেন্ট অ্যাক্সেস করতে পারবেন।
অস্তিত্বহীন পেরেন্ট ডকুমেন্ট কনসোলে দেখা যায়, কিন্তু সেগুলি কোয়েরি ফলাফল এবং স্ন্যাপশটে দেখা যায় না।
আপনি কোনও ডকুমেন্ট এবং তার সাবকালেকশনের মধ্যে থাকা সব ডকুমেন্ট মুছে ফেলতে চাইলে, আপনাকে ম্যানুয়ালি তা করতে হবে। আরও তথ্যের জন্য, কালেকশন মুছে দিন বিকল্প দেখুন।
ফিল্ড মুছুন
কোনও ডকুমেন্ট থেকে নির্দিষ্ট ফিল্ড মুছে ফেলতে, আপনি কোনও ডকুমেন্ট আপডেট করার সময়
নিম্নলিখিত ভাষা-নির্দিষ্ট FieldValue.delete() পদ্ধতি ব্যবহার করুন:
Web
deleteField() পদ্ধতি ব্যবহার করুন:
import { doc, updateDoc, deleteField } from "firebase/firestore"; const cityRef = doc(db, 'cities', 'BJ'); // Remove the 'capital' field from the document await updateDoc(cityRef, { capital: deleteField() });
Web
FieldValue.delete() পদ্ধতি ব্যবহার করুন:
var cityRef = db.collection('cities').doc('BJ'); // Remove the 'capital' field from the document var removeCapital = cityRef.update({ capital: firebase.firestore.FieldValue.delete() });
Swift
FieldValue.delete() পদ্ধতি ব্যবহার করুন:
do { try await db.collection("cities").document("BJ").updateData([ "capital": FieldValue.delete(), ]) print("Document successfully updated") } catch { print("Error updating document: \(error)") }
Objective-C
fieldValueForDelete: পদ্ধতি ব্যবহার করুন:
[[[self.db collectionWithPath:@"cities"] documentWithPath:@"BJ"] updateData:@{ @"capital": [FIRFieldValue fieldValueForDelete] } completion:^(NSError * _Nullable error) { if (error != nil) { NSLog(@"Error updating document: %@", error); } else { NSLog(@"Document successfully updated"); } }];
Kotlin
FieldValue.delete() পদ্ধতি ব্যবহার করুন:
val docRef = db.collection("cities").document("BJ") // Remove the 'capital' field from the document val updates = hashMapOf<String, Any>( "capital" to FieldValue.delete(), ) docRef.update(updates).addOnCompleteListener { }
Java
FieldValue.delete() পদ্ধতি ব্যবহার করুন:
DocumentReference docRef = db.collection("cities").document("BJ"); // Remove the 'capital' field from the document Map<String,Object> updates = new HashMap<>(); updates.put("capital", FieldValue.delete()); docRef.update(updates).addOnCompleteListener(new OnCompleteListener<Void>() { // ... // ...
Dart
FieldValue.delete() পদ্ধতি ব্যবহার করুন:
final docRef = db.collection("cities").doc("BJ"); // Remove the 'capital' field from the document final updates = <String, dynamic>{ "capital": FieldValue.delete(), }; docRef.update(updates);
জাভা
FieldValue.delete() পদ্ধতি ব্যবহার করুন:
Python
firestore.DELETE_FIELD পদ্ধতি ব্যবহার করুন:
Python
firestore.DELETE_FIELD পদ্ধতি ব্যবহার করুন:
C++
FieldValue::Delete() পদ্ধতি ব্যবহার করুন:
DocumentReference doc_ref = db->Collection("cities").Document("BJ"); doc_ref.Update({{"capital", FieldValue::Delete()}}) .OnCompletion([](const Future<void>& future) { /*...*/ });
Node.js
FieldValue.delete() পদ্ধতি ব্যবহার করুন:
Go
firestore.Delete পদ্ধতি ব্যবহার করুন:
PHP
FieldValue::deleteField() পদ্ধতি ব্যবহার করুন:
Unity
FieldValue.Delete পদ্ধতি ব্যবহার করুন:
DocumentReference cityRef = db.Collection("cities").Document("BJ"); Dictionary<string, object> updates = new Dictionary<string, object> { { "Capital", FieldValue.Delete } };
C#
FieldValue.Delete পদ্ধতি ব্যবহার করুন:
Ruby
firestore.field_delete পদ্ধতি ব্যবহার করুন:
কালেকশন মুছে দিন
Cloud Firestore-এ কোনও সম্পূর্ণ সংগ্রহ বা সাব-কালেকশন মুছে ফেলতে, সংগ্রহ বা সাব-কালেকশনের মধ্যে থাকা সব ডকুমেন্ট ফিরিয়ে আনুন (পড়ুন) এবং সেগুলি মুছে ফেলুন। এই প্রসেসে রিড ও ডিলিট করার খরচ অন্তর্ভুক্ত থাকে। আপনার কাছে আরও বড় কালেকশন থাকলে, আউট-অফ-মেমরি সমস্যা এড়াতে আপনি ছোট ছোট ব্যাচে ডকুমেন্ট মুছে ফেলতে পারেন। সম্পূর্ণ সংগ্রহ বা সাব-কালেকশন মুছে না ফেলা পর্যন্ত প্রসেসটি রিপিট করুন।
একটি সংগ্রহ মুছে ফেলার জন্য সীমাহীন সংখ্যক স্বতন্ত্র মুছে ফেলার অনুরোধের সমন্বয় প্রয়োজন। আপনাকে যদি সম্পূর্ণ সংগ্রহ মুছে ফেলতে হয়, তাহলে শুধুমাত্র একটি বিশ্বস্ত সার্ভার এনভায়রনমেন্ট থেকে তা করুন। মোবাইল/ওয়েব ক্লায়েন্ট থেকে কোনও কালেকশন মুছে ফেলা সম্ভব হলেও, তা করলে নিরাপত্তা ও পারফর্ম্যান্সের উপর নেতিবাচক প্রভাব পড়ে।
নিম্নলিখিত স্নিপেটগুলি স্বচ্ছতার জন্য সরলীকৃত এবং এতে ত্রুটি হ্যান্ডলিং, নিরাপত্তা, সাবকালেকশন মুছে ফেলা বা পারফর্ম্যান্স অপ্টিমাইজেশন অন্তর্ভুক্ত নেই। প্রোডাকশনে কালেকশন মুছে ফেলার জন্য সাজেস্ট করা একটি পদ্ধতি সম্পর্কে আরও জানতে, কালেকশন এবং সাব-কালেকশন মুছে ফেলা দেখুন।
ওয়েব
// Deleting collections from a Web client is not recommended.Swift
// Deleting collections from an Apple client is not recommended.Objective-C
// Deleting collections from an Apple client is not recommended.
Kotlin
// Deleting collections from an Android client is not recommended.Java
// Deleting collections from an Android client is not recommended.Dart
ক্লায়েন্ট থেকে কালেকশন মুছে ফেলার সাজেশন দেওয়া হয় না।
জাভা
Python
Python
C++
// This is not supported. Delete data using CLI as discussed below.
Node.js
Go
PHP
Unity
// This is not supported. Delete data using CLI as discussed below.C#
Ruby
TTL নীতির মাধ্যমে ডেটা মুছে ফেলা
TTL নীতি কোনও নির্দিষ্ট কালেকশন গ্রুপের ডকুমেন্টের মেয়াদ শেষ হওয়ার সময় হিসেবে একটি নির্দিষ্ট ফিল্ডকে চিহ্নিত করে। TTL মুছে ফেলার অপারেশন আপনার ডকুমেন্ট মুছে ফেলার খরচের মধ্যে পড়ে।
TTL সেট করা সম্পর্কে তথ্যের জন্য, TTL নীতির মাধ্যমে ডেটার রেকর্ড রাখা ম্যানেজ করুন দেখুন।
একসাথে অনেক কিছু মুছে ফেলার কাজ
Cloud Firestore-এ বাল্ক ডিলিট করার জন্য একাধিক টুল আছে। আপনার কতগুলি ডকুমেন্ট মুছে ফেলতে হবে এবং কতটা কনফিগার করার সুবিধা প্রয়োজন, তার উপর ভিত্তি করে টুল বেছে নিন।
হাজার হাজার ডকুমেন্টের ছোট কাজের জন্য, কনসোল বা Firebase CLI ব্যবহার করুন। বড় কাজের ক্ষেত্রে, এই টুলগুলি টাইমআউট হতে শুরু করতে পারে এবং আপনাকে টুলটি একাধিকবার চালাতে হতে পারে।
কনসোল
আপনি কনসোলের Cloud Firestore পৃষ্ঠা থেকে ডকুমেন্ট ও সংগ্রহ মুছে ফেলতে পারবেন। কনসোল থেকে কোনও ডকুমেন্ট মুছে দিলে, সেই ডকুমেন্টের মধ্যে থাকা সব নেস্টেড ডেটা মুছে যায়, যার মধ্যে যেকোনও সাব-কালেকশনও অন্তর্ভুক্ত।
Firebase CLI
এছাড়াও, ডকুমেন্ট ও কালেকশন মুছে দিতে আপনি Firebase CLI ব্যবহার করতে পারবেন। ডেটা মুছে ফেলতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
firebase firestore:delete --database=DATABASE_ID PATH
DATABASE_ID-এর জায়গায় আপনার ডেটাবেসের আইডি এবং PATH-এর জায়গায় ডকুমেন্ট বা কালেকশনের পাথ লিখুন।
অনেক বেশি সংখ্যক (লক্ষ লক্ষ ডকুমেন্ট) মুছে ফেলার কাজের জন্য, নিম্নলিখিতগুলির মধ্যে একটি ব্যবহার করুন:
ম্যানেজ করা বাল্ক ডিলিট
Cloud Firestore-এর মাধ্যমে এক বা একাধিক কালেকশন গ্রুপ বাল্ক ডিলিট করা যায়। আরও তথ্যের জন্য, একসাথে অনেক ডেটা মুছে দিন দেখুন।
Dataflow কানেক্টর
আপনার ডেটাবেসে বাল্ক অপারেশনের জন্য Dataflow ব্যবহার করতে পারবেন। এই বিকল্পটি সবচেয়ে বেশি কনফিগার করা যায়, তবে অন্যান্য বাল্ক ডিলিট বিকল্পের চেয়ে বেশি সেট-আপের প্রয়োজন হয়। Dataflow-এর সাথে পরিচিতি ব্লগ পোস্টে Cloud Firestore কানেক্টর দেখুন, এতে একটি কালেকশন গ্রুপের সব ডকুমেন্ট মুছে ফেলার উদাহরণ রয়েছে।