यहां दिए गए उदाहरणों में, दस्तावेज़, फ़ील्ड, और कलेक्शन मिटाने का तरीका बताया गया है.
दस्तावेज़ मिटाना
किसी दस्तावेज़ को मिटाने के लिए, भाषा के हिसाब से इन 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+KTX
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"), );
Java
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()
वाला तरीका इस्तेमाल करें:
शुरू करें
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+KTX
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);
Java
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()
वाला तरीका इस्तेमाल करें:
शुरू करें
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+KTX
// Deleting collections from an Android client is not recommended.
Java
// Deleting collections from an Android client is not recommended.
Dart
हमारा सुझाव है कि क्लाइंट से कलेक्शन न मिटाएं.
Java
Python
Python
C++
// This is not supported. Delete data using CLI as discussed below.
Node.js
शुरू करें
PHP
Unity
// This is not supported. Delete data using CLI as discussed below.
C#
Ruby
Firebase CLI की मदद से डेटा मिटाना
डॉक्यूमेंट और कलेक्शन मिटाने के लिए, Firebase CLI का इस्तेमाल भी किया जा सकता है. डेटा मिटाने के लिए, इस कमांड का इस्तेमाल करें:
firebase firestore:delete [options] <<path>>
कंसोल की मदद से डेटा मिटाना
कंसोल के Cloud Firestore पेज से दस्तावेज़ और कलेक्शन मिटाए जा सकते हैं. कंसोल से किसी दस्तावेज़ को मिटाने पर, उस दस्तावेज़ में मौजूद नेस्ट किया गया सारा डेटा मिट जाता है. इसमें सब-कलेक्शन भी शामिल हैं.
टीटीएल नीतियों की मदद से डेटा मिटाना
टीटीएल नीति, किसी फ़ील्ड को किसी कलेक्शन ग्रुप में दस्तावेज़ों के लिए, खत्म होने का समय तय करती है. टीटीएल की समयसीमा खत्म होने पर दस्तावेज़ मिटाने की कार्रवाइयों को, दस्तावेज़ मिटाने की लागत में गिना जाता है.
टीटीएल सेट करने के बारे में जानने के लिए, टीटीएल नीतियों की मदद से डेटा के रखरखाव को मैनेज करना लेख पढ़ें.
गड़बड़ी के कोड और डेटा मिटाते समय लगने वाले समय से जुड़ी समस्याओं को हल करने के तरीके के बारे में ज़्यादा जानने के लिए, समस्या हल करने वाला पेज देखें.
Dataflow की मदद से डेटा मिटाना
Dataflow, आपके Firestore डेटाबेस पर एक साथ कई कार्रवाइयां करने के लिए एक बेहतरीन टूल है. डेटाफ़्लो के बारे में बताने वाली ब्लॉग पोस्ट में, Firestore कनेक्टर का इस्तेमाल करके कलेक्शन ग्रुप में मौजूद सभी दस्तावेज़ों को मिटाने का उदाहरण दिया गया है.
एक साथ कई आइटम को मैनेज करके मिटाने की सुविधा का इस्तेमाल करना
Cloud Firestore की मदद से, एक या उससे ज़्यादा कलेक्शन ग्रुप को एक साथ मिटाया जा सकता है. ज़्यादा जानकारी के लिए, एक साथ कई फ़ाइलें मिटाना लेख पढ़ें.