Mengira Dokumen dalam Koleksi Firestore
Edit: 20 Oktober 2022
Firestore sekarang menyediakan kaedah count() yang mengira dokumen dalam koleksi atau dokumen yang dikembalikan oleh pertanyaan tanpa membaca dokumen-dokumen tersebut. Ini menghapuskan keperluan untuk menyelenggara kaunter.
Query query = db.collection("Posts").orderBy("createdAt"); Task<Long> task = query.count(); task.addOnCompleteListener(new OnCompleteListener<Long>() { @Override public void onComplete(@NonNull Task<Long> task) { long count = task.getResult(); } });
Edit: 10 Julai 2021
Firebase memperkenalkan Sambungan Kaunter Teragih, yang menyediakan perkhidmatan kaunter berskala tinggi untuk tindakan berkelajuan tinggi seperti tontonan, sukaan atau perkongsian. Sambungan ini membenarkan operasi mengira melebihi had satu operasi tulis sesaat.
Jawapan Asal:
Mengambil Kiraan Dokumen Tanpa Kaedah getDocumentCount()
Memandangkan Firestore tidak mempunyai kaedah getDocumentCount() khusus, pendekatan alternatif diperlukan untuk mengira bilangan dokumen dalam koleksi.
db.collection("Posts").get() .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override public void onComplete(@NonNull Task<QuerySnapshot> task) { if (task.isSuccessful()) { int count = task.getResult().size(); Log.d(" TAG", count + "" ); } else { Log.d(TAG, "Error getting documents: ", task.getException()); } } });
Keterbatasan dan Alternatif
Pendekatan ini sesuai untuk set data kecil. Untuk set data yang lebih besar, pertimbangkan kaedah alternatif:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Dokumen dengan Cekap dalam Koleksi Firestore?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!