Inhaltsverzeichnis
Anzahl der Dokumente in einer Firestore-Sammlung ermitteln
Heim Java javaLernprogramm Wie kann man Dokumente in einer Firestore-Sammlung effizient zählen?

Wie kann man Dokumente in einer Firestore-Sammlung effizient zählen?

Nov 19, 2024 pm 06:03 PM

How to Efficiently Count Documents in a Firestore Collection?

Anzahl der Dokumente in einer Firestore-Sammlung ermitteln

Einführung

In Firebase Firestore gibt es keine direkte Methode dafür Ermitteln der Dokumentenanzahl einer Sammlung. Mit dem jüngsten Update und der Einführung neuer Funktionen in Firestore gibt es jedoch mehrere Ansätze, dies zu erreichen.

Neue count()-Methode

Stand: 20. Oktober 2022 bietet Firestore eine neue count()-Methode an, mit der Sie Dokumente zählen können, ohne deren tatsächlichen Inhalt zu lesen. Es gibt eine Abfrage zurück, die die mit der Abfrage übereinstimmenden Dokumente zählt. Bei Aggregationsabfragen wie count() wird Ihnen ein gelesenes Dokument für jeden Stapel von bis zu 1000 Indexeinträgen in Rechnung gestellt, die mit der Abfrage übereinstimmen.

Verteilter Zähler

Ein Am 10. Juli 2021 führte Firebase die Erweiterung „Distributed Counter“ ein. Es bietet einen hoch skalierbaren Zählerdienst, der auf Anwendungen zugeschnitten ist, die schnelle Aktionen wie Aufrufe, Likes oder Shares verfolgen. Mit dieser Erweiterung können Sie die maximale Grenze von einem Schreibvorgang pro Sekunde überwinden.

Codebeispiele für die Dokumentenzählung

1. Verwendung der count()-Methode

Query countQuery = db.collection("Posts")
                     .whereEqualTo("status", "published");

Task<QuerySnapshot> task = countQuery.get();
task.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());
        }
    }
});
Nach dem Login kopieren

2. Verwendung des Legacy-Ansatzes

db.collection("Posts")
   .get()
   .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
       @Override
       public void onComplete(@NonNull Task<QuerySnapshot> task) {
           if (task.isSuccessful()) {
               int count = 0;
               for (DocumentSnapshot document : task.getResult()) {
                   count++;
               }
               Log.d("TAG", count + "");
           } else {
               Log.d(TAG, "Error getting documents: ", task.getException());
           }
       }
   });
Nach dem Login kopieren

Weitere Überlegungen

Einschränkungen des Legacy-Ansatzes:

Verwendung des Legacy-Ansatzes Funktioniert gut für kleine Datensätze, kann jedoch aufgrund der Leseoperation für jeden bei großen Datensätzen ineffizient sein Dokument.

Genauigkeit des verteilten Zählers:

Bitte beachten Sie, dass es sich bei Cloud-Funktionen um Best-Effort-Funktionen zur Schreibzeit handelt, was bedeutet, dass es zu einer leichten Verzögerung bei der Aktualisierung des Zählers kommen kann. und es ist möglicherweise nicht sofort genau, insbesondere wenn der Datensatz groß ist oder viele Schreibvorgänge stattfinden laden.

Fazit

Die neue count()-Methode bietet eine bequeme und leistungsstarke Möglichkeit, Dokumente in Firestore-Sammlungen zu zählen. Wenn Sie einen Zähler mit sofortigen Updates und Skalierbarkeit benötigen, sollten Sie die Verwendung der Distributed Counter-Erweiterung in Betracht ziehen.

Das obige ist der detaillierte Inhalt vonWie kann man Dokumente in einer Firestore-Sammlung effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)