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

MongoDB db.collection.count()

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