Comptage des documents dans une collection Firestore
Edit : 20 octobre 2022
Firestore maintenant fournit une méthode count() qui compte les documents d'une collection ou les documents renvoyés par une requête sans lire les documents. Cela élimine le besoin de gérer un compteur.
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 juillet 2021
Firebase présente l'extension de compteur distribué, qui fournit un service de compteur hautement évolutif. pour les actions à grande vitesse telles que les vues, les likes ou les partages. Cette extension permet aux opérations de comptage de dépasser la limitation d'une opération d'écriture par seconde.
Réponse originale :
Récupération du nombre de documents sans méthode getDocumentCount()
Étant donné que Firestore ne dispose pas d'une méthode getDocumentCount() dédiée, des approches alternatives sont nécessaires pour compter le nombre de documents dans un collection.
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()); } } });
Limitations et alternatives
Cette approche convient aux petits ensembles de données. Pour les ensembles de données plus volumineux, envisagez des méthodes alternatives :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!