यहां दिए गए उदाहरणों में, दस्तावेज़, फ़ील्ड, और कलेक्शन मिटाने का तरीका बताया गया है.
दस्तावेज़ मिटाएं
किसी दस्तावेज़ को मिटाने के लिए, भाषा के हिसाब से इन 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/mysubcoll/mysubdoc
पाथ पर दस्तावेज़ को ऐक्सेस किया जा सकता है. भले ही, /mycoll/mydoc
पर जाकर पहले के दस्तावेज़ को मिटा दिया गया हो.
ऐसे पैरंट दस्तावेज़ जो मौजूद नहीं हैं वे कंसोल में दिखते हैं, लेकिन वे क्वेरी के नतीजों और स्नैपशॉट में नहीं दिखते.
अगर आपको किसी दस्तावेज़ और उसके सब-कलेक्शन में मौजूद सभी दस्तावेज़ मिटाने हैं, तो आपको मैन्युअल तरीके से ऐसा करना होगा. ज़्यादा जानकारी के लिए, संग्रह मिटाना देखें.
फ़ील्ड मिटाना
किसी दस्तावेज़ से खास फ़ील्ड मिटाने के लिए, दस्तावेज़ अपडेट करते समय, भाषा के हिसाब से दिए गए इन 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 पर, एक या एक से ज़्यादा संग्रह ग्रुप को एक साथ मिटाया जा सकता है. ज़्यादा जानकारी के लिए, एक साथ कई फ़ाइलें मिटाना लेख पढ़ें.