Memadamkan Koleksi dan Subkoleksi dalam Firestore
Firestore tidak menyediakan kaedah langsung untuk memadamkan keseluruhan koleksi atau subkoleksi. Walau bagaimanapun, terdapat penyelesaian yang melibatkan pemadaman dokumen individu dalam koleksi atau subkoleksi.
Memodelkan Struktur Data
Struktur data yang disediakan sesuai untuk kes penggunaan yang diberikan . Anda tidak perlu menstruktur semula pangkalan data untuk memadamkan senarai tertentu.
Langkah-Langkah untuk Memadamkan Koleksi atau Subkoleksi
Untuk memadam keseluruhan koleksi atau subkoleksi, ikut langkah berikut:
Pemprosesan Kelompok (Pilihan)
Untuk koleksi yang lebih besar, pertimbangkan untuk memadamkan dokumen dalam kelompok untuk mengelakkan masalah ingatan.
Implikasi Keselamatan dan Prestasi
Firestore tidak menggalakkan operasi pemadaman besar kerana potensi kesan keselamatan dan prestasi negatif. Lakukan operasi ini dengan berhati-hati, terutamanya daripada persekitaran yang tidak dipercayai.
Kod Pelaksanaan untuk Android
<code class="java">private void deleteCollection(final CollectionReference collection, Executor executor) { Tasks.call(executor, () -> { int batchSize = 10; Query query = collection.orderBy(FieldPath.documentId()).limit(batchSize); List<DocumentSnapshot> deleted = deleteQueryBatch(query); while (deleted.size() >= batchSize) { DocumentSnapshot last = deleted.get(deleted.size() - 1); query = collection.orderBy(FieldPath.documentId()).startAfter(last.getId()).limit(batchSize); deleted = deleteQueryBatch(query); } return null; }); } @WorkerThread private List<DocumentSnapshot> deleteQueryBatch(final Query query) throws Exception { QuerySnapshot querySnapshot = Tasks.await(query.get()); WriteBatch batch = query.getFirestore().batch(); for (DocumentSnapshot snapshot : querySnapshot) { batch.delete(snapshot.getReference()); } Tasks.await(batch.commit()); return querySnapshot.getDocuments(); }</code>
Atas ialah kandungan terperinci Bagaimana untuk Memadamkan Keseluruhan Koleksi dan Subkoleksi dalam Firestore?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!