एक साथ कई फ़ोटो मिटाना

डेटाबेस से डेटा मिटाने के लिए, मैनेज की गई बल्क डिलीट सेवा का इस्तेमाल करें. इस सेवा की मदद से, एक या उससे ज़्यादा कलेक्शन ग्रुप का डेटा मिटाया जा सकता है.

इस पेज पर, मैनेज की गई बल्क डिलीट सेवा का इस्तेमाल करके, एक साथ कई दस्तावेज़ मिटाने का तरीका बताया गया है. Cloud Firestore की मैनेज की गई बल्क डिलीट सेवा, gcloud कमांड-लाइन टूल और Cloud Firestore REST API के ज़रिए उपलब्ध है.

शुरू करने से पहले

मैनेज की गई बल्क डिलीट सेवा का इस्तेमाल करने से पहले, आपको ये काम पूरे करने होंगे:

  1. बल्क में दस्तावेज़ मिटाने के लिए, अपने Google Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करें. बल्क में डेटा मिटाने की सुविधा का इस्तेमाल सिर्फ़ वे Google Cloud प्रोजेक्ट कर सकते हैं जिनके लिए बिलिंग की सुविधा चालू है.
  2. पक्का करें कि आपके खाते के पास ज़रूरी अनुमतियां हों Cloud Firestore. अगर आप प्रोजेक्ट के मालिक हैं, तो आपके खाते के पास ज़रूरी अनुमतियां होंगी. अन्यथा, इन भूमिकाओं से बल्क में डेटा मिटाने के ऑपरेशन के लिए ज़रूरी अनुमतियां मिलती हैं:

    • Cloud Firestore भूमिकाएं: Owner, Cloud Datastore Owner, या Cloud Datastore Bulk Admin

अपने प्रोजेक्ट के लिए gcloud सेट अप करना

Google Cloud Console या gcloud कमांड-लाइन टूल की मदद से, बल्क में डेटा मिटाने के ऑपरेशन शुरू किए जा सकते हैं. gcloud का इस्तेमाल करने के लिए, कमांड-लाइन टूल सेट अप करें और इनमें से किसी एक तरीके से अपने प्रोजेक्ट से कनेक्ट करें:

बल्क में डेटा मिटाना

बल्क में डेटा मिटाने का ऑपरेशन, सबसे पहले आपके डेटाबेस में काम के सभी दस्तावेज़ ढूंढता है और उन्हें बैच में मिटाता है. इन दस्तावेज़ों के लिए क्वेरी की जा सकती है या इन्हें पढ़ा जा सकता है. हालांकि, नतीजे, प्रोसेस की प्रोग्रेस के आधार पर अलग-अलग हो सकते हैं. बल्क में डेटा मिटाने के ऑपरेशन शुरू होने के बाद, जोड़े या बदले गए दस्तावेज़ नहीं मिटते.

चुने गए कलेक्शन ग्रुप का डेटा बल्क में मिटाना

gcloud

चुने गए कलेक्शन ग्रुप का डेटा बल्क में मिटाने के लिए, --collection-ids फ़्लैग का इस्तेमाल करें. इस ऑपरेशन से, सिर्फ़ दिए गए आईडी वाले कलेक्शन ग्रुप मिटते हैं. कलेक्शन ग्रुप में, तय किए गए कलेक्शन ग्रुप वाले सभी दस्तावेज़ और नेस्ट किए गए दस्तावेज़ (किसी भी पाथ पर) शामिल होते हैं.

gcloud firestore bulk-delete \
--collection-ids=[COLLECTION_GROUP_ID_1_OR_KIND_1],[COLLECTION_GROUP_ID_2_OR_KIND_2],[SUBCOLLECTION_GROUP_ID_1_OR_KIND_3] \
--database=[DATABASE]
उदाहरण के लिए, मान लें कि cymbal डेटाबेस के टॉप लेवल restaurants कलेक्शन में, रेस्टोरेंट की जानकारी देने वाले कई दस्तावेज़ मौजूद हैं. हर रेस्टोरेंट के दस्तावेज़ में, कई नेस्ट किए गए सब-कलेक्शन मौजूद हैं. जैसे, ratings, reviews, और outlets. restaurants और reviews कलेक्शन ग्रुप का डेटा बल्क में मिटाने के लिए, आपका कमांड इस तरह दिखेगा:

gcloud firestore bulk-delete \
--collection-ids=restaurants,reviews \
--database='cymbal'

बल्क में डेटा मिटाने के ऑपरेशन मैनेज करना

बल्क में डेटा मिटाने का ऑपरेशन शुरू करने के बाद, Cloud Firestore इस ऑपरेशन को एक यूनीक नाम असाइन करता है. ऑपरेशन को मिटाने, रद्द करने या उसकी स्थिति की जानकारी देखने के लिए, ऑपरेशन के नाम का इस्तेमाल किया जा सकता है.

ऑपरेशन के नामों में projects/[PROJECT_ID]/databases/[DATABASE_ID]/operations/ प्रीफ़िक्स होता है. उदाहरण के लिए:

projects/my-project/databases/(default)/operations/ASA1MTAwNDQxNAgadGx1YWZlZAcSeWx0aGdpbi1zYm9qLW5pbWRhEgopEg

हालांकि, describe, cancel, और deleteकमांड के लिए, ऑपरेशन का नाम तय करते समय, प्रीफ़िक्स को छोड़ा जा सकता है.

बल्क में डेटा मिटाने के सभी ऑपरेशन की सूची देखना

gcloud

बल्क में डेटा मिटाने के ऑपरेशन के साथ-साथ, हाल ही में पूरे हुए और फ़िलहाल चल रहे सभी ऑपरेशन देखने के लिए, operations list कमांड का इस्तेमाल करें:

gcloud firestore operations list

ऑपरेशन की स्थिति की जानकारी देखना

gcloud

बल्क में डेटा मिटाने के ऑपरेशन की स्थिति की जानकारी देखने के लिए, operations describe कमांड का इस्तेमाल करें.

gcloud firestore operations describe [OPERATION_NAME]

ऑपरेशन पूरा होने का अनुमानित समय देखना

ज़्यादा समय तक चलने वाले ऑपरेशन की स्थिति की जानकारी के लिए किए गए अनुरोध के जवाब में, workEstimated और workCompleted मेट्रिक दिखती हैं. इनमें से हर मेट्रिक, बाइट की संख्या और दस्तावेज़ों की संख्या, दोनों में दिखती है:

  • workEstimated में, अनुमानित तौर पर बाइट और दस्तावेज़ों की कुल संख्या दिखती है. यह संख्या, किसी ऑपरेशन के दौरान प्रोसेस किए जाने वाले डेटा की होती है. Cloud Firestore अगर यह अनुमान नहीं लगा पाता है, तो हो सकता है कि यह मेट्रिक न दिखे.

  • workCompleted में, अब तक मिटाए गए बाइट और दस्तावेज़ों की संख्या दिखती है. ऑपरेशन पूरा होने के बाद, वैल्यू में बाइट और दस्तावेज़ों की कुल संख्या दिखती है. यह संख्या, workEstimated की वैल्यू से ज़्यादा हो सकती है.

प्रोग्रेस का अनुमान लगाने के लिए, workCompleted को workEstimated से भाग दें. यह अनुमान गलत हो सकता है, क्योंकि यह आंकड़ों के कलेक्शन में होने वाली देरी पर निर्भर करता है.

ऑपरेशन रद्द करना

gcloud

प्रोग्रेस में मौजूद किसी ऑपरेशन को रोकने के लिए, operations cancel कमांड का इस्तेमाल करें:

gcloud firestore operations cancel [OPERATION_NAME]

चल रहे ऑपरेशन को रद्द करने से, ऑपरेशन पहले जैसा नहीं होता. बल्क में डेटा मिटाने का ऑपरेशन रद्द करने पर, मिटाए गए दस्तावेज़ वापस नहीं लाए जा सकते.

ऑपरेशन मिटाना

हाल ही में किए गए ऑपरेशन की सूची से, पूरे हो चुके ऑपरेशन को हटाने के लिए, gcloud firestore operations delete कमांड का इस्तेमाल करें. चल रहे ऑपरेशन को रद्द करने के लिए, पहले रद्द करने का ऑपरेशन इस्तेमाल करें.

gcloud firestore operations delete [OPERATION_NAME]

बल्क में डेटा मिटाने के ऑपरेशन के लिए बिलिंग और कीमत

मैनेज की गई बल्क डिलीट सेवा का इस्तेमाल करने से पहले, आपको अपने Google Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू करनी होगी.

बल्क में डेटा मिटाने के ऑपरेशन के लिए, दस्तावेज़ों को पढ़ने और मिटाने का शुल्क, कीमत में दी गई Cloud Firestore दरों के हिसाब से लगता है. बल्क में डेटा मिटाने के ऑपरेशन के लिए, खोजे गए हर दस्तावेज़ के लिए इंडेक्स एंट्री को पढ़ने का एक शुल्क और मिटाए गए हर दस्तावेज़ के लिए एक डिलीट ऑपरेशन का शुल्क लगता है. इंडेक्स की 1,000 एंट्री तक पढ़ने के लिए, एक रीड ऑपरेशन का शुल्क लगता है. उदाहरण के लिए, अगर बल्क में डेटा मिटाने के किसी ऑपरेशन में 1,500 दस्तावेज़ मिटाए जाते हैं, तो आपसे दो दस्तावेज़ों को पढ़ने का शुल्क और 1,500 दस्तावेज़ों को मिटाने का शुल्क लिया जाएगा.

ध्यान दें कि Cloud Firestore किए गए असल काम के लिए शुल्क लेता है. अगर उपयोगकर्ता की गड़बड़ी की वजह से, ऑपरेशन रद्द हो जाता है या पूरा नहीं हो पाता है, तो आपसे प्रोग्रेस के हिसाब से शुल्क लिया जाएगा. Cloud Firestore उन दस्तावेज़ों को पढ़ने या मिटाने का शुल्क नहीं लेगा जो आखिर में नहीं मिटाए जाते. जैसे, मिटाने का ऑपरेशन शुरू होने के बाद बदले गए दस्तावेज़. ऑपरेशन पूरा होने वाले दिन, शुल्क जोड़ा जाएगा.

बल्क में डेटा मिटाने के ऑपरेशन पूरा होने तक, Google Cloud बजट अलर्ट ट्रिगर नहीं होते. इसी तरह, बल्क में डेटा मिटाने के ऑपरेशन के दौरान, पढ़े और मिटाए गए दस्तावेज़ों को, ऑपरेशन पूरा होने के बाद, आपके मुफ़्त टियर के इस्तेमाल में जोड़ा जाता है. बल्क में डेटा मिटाने के ऑपरेशन से, कंसोल के इस्तेमाल वाले सेक्शन में दिखने वाले इस्तेमाल पर कोई असर नहीं पड़ता.

बल्क में डेटा मिटाने के शुल्क देखना

बल्क में डेटा मिटाने के ऑपरेशन के लिए, बिल किए गए ऑपरेशन पर goog-firestoremanaged:bulkdelete लेबल लागू होता है. Cloud Billing की रिपोर्ट वाले पेज पर, इस लेबल का इस्तेमाल करके, बल्क में डेटा मिटाने के ऑपरेशन से जुड़े शुल्क देखे जा सकते हैं.

सबसे सही तरीके

मिटाए गए डेटा को स्किप न करें. ऐसा करने से, क्वेरी की स्पीड कम हो सकती है .