यहां दिए गए उदाहरणों में, दस्तावेज़, फ़ील्ड, और कलेक्शन मिटाने का तरीका बताया गया है.
दस्तावेज़ मिटाना
किसी दस्तावेज़ को मिटाने के लिए, भाषा के हिसाब से इन delete()
तरीकों का इस्तेमाल करें:
deleteDoc()
वाला तरीका इस्तेमाल करें:
import { doc, deleteDoc } from "firebase/firestore"; await deleteDoc(doc(db, "cities", "DC"));
delete()
वाला तरीका इस्तेमाल करें:
db.collection("cities").doc("DC").delete().then(() => { console.log("Document successfully deleted!"); }).catch((error) => { console.error("Error removing document: ", error); });
delete()
वाला तरीका इस्तेमाल करें:
do { try await db.collection("cities").document("DC").delete() print("Document successfully removed!") } catch { print("Error removing document: \(error)") }
deleteDocumentWithCompletion:
वाला तरीका इस्तेमाल करें:
[[[self.db collectionWithPath:@"cities"] documentWithPath:@"DC"] deleteDocumentWithCompletion:^(NSError * _Nullable error) { if (error != nil) { NSLog(@"Error removing document: %@", error); } else { NSLog(@"Document successfully removed!"); } }];
delete()
वाला तरीका इस्तेमाल करें:
db.collection("cities").document("DC") .delete() .addOnSuccessListener { Log.d(TAG, "DocumentSnapshot successfully deleted!") } .addOnFailureListener { e -> Log.w(TAG, "Error deleting document", e) }
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); } });
delete()
वाला तरीका इस्तेमाल करें:
db.collection("cities").doc("DC").delete().then( (doc) => print("Document deleted"), onError: (e) => print("Error updating document $e"), );
delete()
वाला तरीका इस्तेमाल करें:
delete()
वाला तरीका इस्तेमाल करें:
delete()
वाला तरीका इस्तेमाल करें:
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; } });
delete()
वाला तरीका इस्तेमाल करें:
Delete()
वाला तरीका इस्तेमाल करें:
delete()
वाला तरीका इस्तेमाल करें:
DeleteAsync()
वाला तरीका इस्तेमाल करें:
DocumentReference cityRef = db.Collection("cities").Document("DC"); cityRef.DeleteAsync();
DeleteAsync()
वाला तरीका इस्तेमाल करें:
delete()
वाला तरीका इस्तेमाल करें:
किसी दस्तावेज़ को मिटाने पर, Cloud Firestore अपने सब-कलेक्शन में मौजूद दस्तावेज़ों को अपने-आप नहीं मिटाता. हालांकि, अब भी सब-कलेक्शन के दस्तावेज़ों को रेफ़रंस के ज़रिए ऐक्सेस किया जा सकता है.
उदाहरण के लिए, /mycoll/mydoc
पर मौजूद दस्तावेज़ को मिटाने के बाद भी, /mycoll/mydoc/mysubcoll/mysubdoc
पर मौजूद दस्तावेज़ को ऐक्सेस किया जा सकता है.
मौजूद नहीं हैं ऐसे पैरंट दस्तावेज़, कंसोल में दिखते हैं, लेकिन वे क्वेरी के नतीजों और स्नैपशॉट में नहीं दिखते.
अगर आपको किसी दस्तावेज़ और उसके सब-कलेक्शन में मौजूद सभी दस्तावेज़ मिटाने हैं, तो आपको मैन्युअल तरीके से ऐसा करना होगा. ज़्यादा जानकारी के लिए, कलेक्शन मिटाना लेख पढ़ें.
फ़ील्ड मिटाना
किसी दस्तावेज़ से खास फ़ील्ड मिटाने के लिए, दस्तावेज़ अपडेट करते समय, भाषा के हिसाब से दिए गए इन FieldValue.delete()
तरीकों का इस्तेमाल करें:
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() });
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() });
FieldValue.delete()
वाला तरीका इस्तेमाल करें:
do { try await db.collection("cities").document("BJ").updateData([ "capital": FieldValue.delete(), ]) print("Document successfully updated") } catch { print("Error updating document: \(error)") }
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"); } }];
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 { }
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>() { // ... // ...
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()
वाला तरीका इस्तेमाल करें:
firestore.DELETE_FIELD
वाला तरीका इस्तेमाल करें:
firestore.DELETE_FIELD
वाला तरीका इस्तेमाल करें:
FieldValue::Delete()
वाला तरीका इस्तेमाल करें:
DocumentReference doc_ref = db->Collection("cities").Document("BJ"); doc_ref.Update({{"capital", FieldValue::Delete()}}) .OnCompletion([](const Future<void>& future) { /*...*/ });
FieldValue.delete()
वाला तरीका इस्तेमाल करें:
firestore.Delete
वाला तरीका इस्तेमाल करें:
FieldValue::deleteField()
वाला तरीका इस्तेमाल करें:
FieldValue.Delete
वाला तरीका इस्तेमाल करें:
DocumentReference cityRef = db.Collection("cities").Document("BJ"); Dictionary<string, object> updates = new Dictionary<string, object> { { "Capital", FieldValue.Delete } };
FieldValue.Delete
वाला तरीका इस्तेमाल करें:
firestore.field_delete
वाला तरीका इस्तेमाल करें:
कलेक्शन मिटाना
Cloud Firestore में मौजूद किसी पूरे कलेक्शन या सब-कलेक्शन को मिटाने के लिए, कलेक्शन या सब-कलेक्शन में मौजूद सभी दस्तावेज़ों को वापस पाएं (पढ़ें) और उन्हें मिटाएं. इस प्रोसेस में, डेटा को पढ़ने और मिटाने, दोनों के लिए शुल्क लिया जाता है. अगर आपके पास बड़े कलेक्शन हैं, तो हो सकता है कि आप कम से कम दस्तावेज़ों को मिटाना चाहें, ताकि मेमोरी खत्म होने से जुड़ी गड़बड़ियां न हों. इस प्रोसेस को तब तक दोहराएं, जब तक कि पूरा कलेक्शन या सब-कलेक्शन मिट न जाए.
किसी कलेक्शन को मिटाने के लिए, अनलिमिटेड संख्या में अलग-अलग मिटाने के अनुरोधों को मैनेज करना ज़रूरी होता है. अगर आपको पूरे कलेक्शन मिटाने हैं, तो ऐसा सिर्फ़ भरोसेमंद सर्वर एनवायरमेंट से करें. मोबाइल/वेब क्लाइंट से कलेक्शन मिटाया जा सकता है. हालांकि, ऐसा करने से सुरक्षा और परफ़ॉर्मेंस पर बुरा असर पड़ता है.
यहां दिए गए स्निपेट कुछ हद तक आसान हैं. इनमें गड़बड़ी को मैनेज करने, सुरक्षा, सब-कलेक्शन मिटाने या परफ़ॉर्मेंस को बेहतर बनाने के बारे में नहीं बताया गया है. प्रोडक्शन में कलेक्शन मिटाने के सुझाए गए तरीके के बारे में ज़्यादा जानने के लिए, कलेक्शन और सब-कलेक्शन मिटाना लेख पढ़ें.
// Deleting collections from a Web client is not recommended.
// Deleting collections from an Apple client is not recommended.
// Deleting collections from an Apple client is not recommended.
// Deleting collections from an Android client is not recommended.
// Deleting collections from an Android client is not recommended.
हमारा सुझाव है कि क्लाइंट से कलेक्शन न मिटाएं.
// This is not supported. Delete data using CLI as discussed below.
// This is not supported. Delete data using CLI as discussed below.
Firebase CLI की मदद से डेटा मिटाना
डॉक्यूमेंट और कलेक्शन मिटाने के लिए, Firebase CLI का इस्तेमाल भी किया जा सकता है. डेटा मिटाने के लिए, इस कमांड का इस्तेमाल करें:
firebase firestore:delete [options] <<path>>
कंसोल की मदद से डेटा मिटाना
आपके पास कंसोल के Cloud Firestore पेज से दस्तावेज़ और कलेक्शन मिटाने का विकल्प होता है. कंसोल से किसी दस्तावेज़ को मिटाने पर, उस दस्तावेज़ में मौजूद नेस्ट किया गया सारा डेटा मिट जाता है. इसमें सब-कलेक्शन भी शामिल हैं.
टीटीएल नीतियों की मदद से डेटा मिटाना
टीटीएल नीति, किसी फ़ील्ड को किसी कलेक्शन ग्रुप में मौजूद दस्तावेज़ों के लिए, समयसीमा खत्म होने के समय के तौर पर तय करती है. टीटीएल की समयसीमा खत्म होने पर दस्तावेज़ मिटाने की कार्रवाइयों को, दस्तावेज़ मिटाने की लागत में गिना जाता है.
टीटीएल सेट करने के बारे में जानने के लिए, टीटीएल नीतियों की मदद से डेटा के रखरखाव को मैनेज करना लेख पढ़ें.
गड़बड़ी के कोड और डेटा मिटाते समय लगने वाले समय से जुड़ी समस्याओं को हल करने के तरीके के बारे में ज़्यादा जानने के लिए, समस्या हल करने वाला पेज देखें.
Dataflow की मदद से डेटा मिटाना
Dataflow, आपके Firestore डेटाबेस पर एक साथ कई कार्रवाइयां करने के लिए एक बेहतरीन टूल है. डेटाफ़्लो के बारे में बताने वाली ब्लॉग पोस्ट में, Firestore कनेक्टर का इस्तेमाल करके कलेक्शन ग्रुप में मौजूद सभी दस्तावेज़ों को मिटाने का उदाहरण दिया गया है.
एक साथ कई आइटम को मैनेज करके मिटाने की सुविधा का इस्तेमाल करना
Cloud Firestore की मदद से, एक या उससे ज़्यादा कलेक्शन ग्रुप को एक साथ मिटाया जा सकता है. ज़्यादा जानकारी के लिए, एक साथ कई फ़ाइलें मिटाना लेख पढ़ें.