MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB estimateDocumentCount()

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 pour countDocuments() et estimatedDocumentCount() . 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.