Table des matières
Obtention du nombre de documents dans une collection Firestore
Maison Java javaDidacticiel Comment compter efficacement les documents dans une collection Firestore ?

Comment compter efficacement les documents dans une collection Firestore ?

Nov 19, 2024 pm 06:03 PM

How to Efficiently Count Documents in a Firestore Collection?

Obtention du nombre de documents dans une collection Firestore

Introduction

Dans Firebase Firestore, il n'existe pas de méthode directe pour obtenir le décompte des documents d'une collection. Cependant, avec la récente mise à jour et l'introduction de nouvelles fonctionnalités dans Firestore, il existe plusieurs approches pour y parvenir.

Nouvelle méthode count()

Au 20 octobre , 2022, Firestore propose une nouvelle méthode count() qui vous permet de compter les documents sans lire leur contenu réel. Il renvoie une requête qui compte les documents correspondant à la requête. Pour les requêtes d'agrégation telles que count(), vous êtes facturé un document lu pour chaque lot de 1 000 entrées d'index maximum correspondant à la requête.

Compteur distribué

Activé Le 10 juillet 2021, Firebase a introduit l'extension Distributed Counter. Il fournit un service de compteur hautement évolutif, adapté aux applications qui suivent les actions à grande vitesse telles que les vues, les likes ou les partages. En utilisant cette extension, vous pouvez dépasser la limite maximale d'une opération d'écriture par seconde.

Exemples de code pour le comptage de documents

1. Utilisation de la méthode count()

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());
        }
    }
});
Copier après la connexion

2. Utiliser l'approche héritée

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());
           }
       }
   });
Copier après la connexion

Autres considérations

Limitations de l'approche héritée :

Utiliser l'approche héritée fonctionne bien pour les petits ensembles de données, mais peut s'avérer inefficace pour les grands ensembles de données en raison de l'opération de lecture de chaque document.

Précision du compteur distribué :

Veuillez noter que les fonctions Cloud sont le temps d'écriture est optimal, ce qui signifie qu'il peut y avoir un léger retard dans la mise à jour du compteur et qu'il peut ne pas être immédiatement précis, en particulier si l'ensemble de données est volumineux ou s'il y a une charge d'écriture élevée.

Conclusion

La nouvelle méthode count() offre un moyen pratique et performant de compter les documents dans les collections Firestore. Si vous avez besoin d'un compteur avec des mises à jour instantanées et une évolutivité, envisagez d'utiliser l'extension Distributed Counter.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)