Dokumente in einer Firestore-Sammlung zählen
Bearbeitet: 20. Oktober 2022
Firestore jetzt stellt eine count()-Methode bereit, die die Dokumente in einer Sammlung oder die von einer Abfrage zurückgegebenen Dokumente zählt, ohne die Dokumente zu lesen. Dadurch entfällt die Notwendigkeit, einen Zähler zu pflegen.
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(); } });
Bearbeitung: 10. Juli 2021
Firebase führt die Distributed Counter Extension ein, die einen hoch skalierbaren Zählerdienst bietet für schnelle Aktionen wie Aufrufe, Likes oder Shares. Mit dieser Erweiterung können Zählvorgänge die Beschränkung von einem Schreibvorgang pro Sekunde überschreiten.
Ursprüngliche Antwort:
Anzahl der Dokumente ohne getDocumentCount()-Methode abrufen
Da Firestore keine dedizierte getDocumentCount()-Methode hat, sind alternative Ansätze erforderlich, um die Anzahl der Dokumente in einem zu zählen Sammlung.
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()); } } });
Einschränkungen und Alternativen
Dieser Ansatz eignet sich für kleine Datensätze. Ziehen Sie für größere Datensätze alternative Methoden in Betracht:
Das obige ist der detaillierte Inhalt vonWie kann ich Dokumente in einer Firestore-Sammlung effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!