Dans MongoDB, le db.collection.count()
La méthode renvoie le nombre de documents qui correspondraient à un find()
requête pour la collection ou la vue.
La collection
part est le nom de la collection ou de la vue sur laquelle effectuer l'opération de comptage.
Notez qu'il n'effectue pas réellement de find()
opération. Il compte et renvoie simplement le nombre de résultats correspondant à une requête.
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.count()
Résultat :
7
Cela équivaut à faire ce qui suit :
db.pets.find().count()
Résultat :
7
La documentation MongoDB déconseille en fait d'utiliser db.collection.count()
sans prédicat de requête. En effet, la méthode renvoie des résultats basés sur les métadonnées de la collection, ce qui peut entraîner un décompte approximatif.
Compter le résultat d'une requête
Vous pouvez compter le résultat d'une requête en transmettant les critères de requête.
Exemple :
db.pets.count({
"type": "Dog"
})
Résultat :
4
Dans cet exemple, nous avons découvert qu'il y a quatre chiens dans la collection.
Vérifions le nombre d'une autre requête. Cette fois, nous découvrirons combien d'animaux ont un poids supérieur à un certain poids.
db.pets.count({
"weight": { $gt: 10 }
})
Résultat :
3
Limiter le nombre
Vous pouvez utiliser la limit
paramètre pour spécifier un nombre maximum de documents à compter.
Exemple :
db.pets.count( {}, { limit: 5 } )
Résultat :
5
Nous avons vu précédemment qu'il y a en fait 7 documents dans cette collection, mais dans cet exemple nous l'avons limité pour en compter un maximum de 5.
Si la limite est supérieure au nombre réel, le résultat ne sera pas affecté par la limit
arguments.
Exemple :
db.pets.count( {}, { limit: 10 } )
Résultat :
7
Ignorer des documents
Vous pouvez compter utiliser le skip
paramètre pour sauter un certain nombre de documents avant de compter.
Exemple :
db.pets.count( {}, { skip: 5 } )
Résultat :
2
Dépréciation
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
Le db.collection.count()
method est un wrapper pour le count
commande.
Le db.collection.count()
la méthode accepte d'autres paramètres, tels que hint
, maxTimeMS
, readConcern
, et collation
.
Consultez la documentation MongoDB pour plus d'informations.