Dans MongoDB, le db.collection.estimatedDocumentCount()
renvoie le nombre de tous les documents d'une collection ou d'une vue.
La collection
part est le nom de la collection ou de la vue sur laquelle effectuer l'opération de comptage.
Le db.collection.estimatedDocumentCount()
la méthode encapsule le count
commande.
Exemple
Supposons que nous ayons une collection appelée pets
avec les documents suivants :
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 } { "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 } { "_id" : 3, "name" : "Meow", "type" : "Cat", "weight" : 7 } { "_id" : 4, "name" : "Scratch", "type" : "Cat", "weight" : 8 } { "_id" : 5, "name" : "Bruce", "type" : "Bat", "weight" : 3 } { "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 } { "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
Nous pouvons utiliser la requête suivante pour renvoyer le nombre de documents dans la collection :
db.pets.estimatedDocumentCount()
Résultat :
7
Le db.collection.estimatedDocumentCount()
La méthode ne prend pas de filtre de requête. Il utilise à la place des métadonnées pour renvoyer le nombre de documents pour l'ensemble de la collection.
Cependant, il fonctionne toujours lorsqu'il est fourni avec un document vide.
db.pets.estimatedDocumentCount({})
Résultat :
7
Le maxTimeMS
Paramètre
Le db.collection.estimatedDocumentCount()
La méthode accepte un seul paramètre (optionnel) :le maxTimeMS
paramètre. Cela vous permet de définir la durée maximale pendant laquelle l'opération de comptage peut s'exécuter.
Exemple :
db.pets.estimatedDocumentCount({}, { maxTimeMS: 5000 })
Résultat :
7
Dépréciation de count()
en faveur de estimatedDocumentCount()
Notez que la documentation MongoDB indique ce qui suit :
Les pilotes MongoDB compatibles avec les fonctionnalités 4.0 déprécient leur curseur et leur collection respectifs
count()
API en faveur de nouvelles API pourcountDocuments()
etestimatedDocumentCount()
. Pour les noms d'API spécifiques pour un pilote donné, consultez la documentation du pilote.
Plus d'informations
Sur un cluster partitionné, le nombre résultant ne filtrera pas correctement les documents orphelins.
De plus, après un arrêt incorrect, le décompte peut être incorrect.
Consultez la documentation MongoDB pour plus d'informations.