sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB db.collection.count()

I MongoDB er db.collection.count() metoden returnerer antallet af dokumenter, der ville matche en find() forespørgsel til samlingen eller visningen.

collection del er navnet på samlingen eller visningen, der skal udføres tælleoperationen på.

Bemærk, at den faktisk ikke udfører en find() operation. Den tæller simpelthen og returnerer antallet af resultater, der matcher en forespørgsel.

Eksempel

Antag, at vi har en samling kaldet pets med følgende dokumenter:

{ "_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 }

Vi kan bruge følgende forespørgsel til at returnere antallet af dokumenter i samlingen:

db.pets.count()

Resultat:

7

Dette svarer til at gøre følgende:

db.pets.find().count()

Resultat:

7

MongoDB-dokumentationen fraråder faktisk at bruge db.collection.count() uden et forespørgselsprædikat. Dette skyldes, at metoden returnerer resultater baseret på samlingens metadata, hvilket kan resultere i et omtrentligt antal.

Tæl resultatet af en forespørgsel

Du kan tælle resultatet af en forespørgsel ved at bestå forespørgselskriterierne.

Eksempel:

db.pets.count({
    "type": "Dog"
})

Resultat:

4

I dette eksempel fandt vi ud af, at der er fire hunde i samlingen.

Lad os tjekke antallet af en anden forespørgsel. Denne gang finder vi ud af, hvor mange kæledyr der har en vægt, der er større end en vis mængde.

db.pets.count({
    "weight": { $gt: 10 }
})

Resultat:

3

Begræns antallet

Du kan bruge limit parameter for at angive et maksimalt antal dokumenter, der skal tælles.

Eksempel:

db.pets.count( {}, { limit: 5 } )

Resultat:

5

Vi så før, at der faktisk er 7 dokumenter i denne samling, men i dette eksempel begrænsede vi det til maksimalt at tælle 5.

Hvis grænsen er højere end det faktiske antal, vil resultatet ikke blive påvirket af limit argument.

Eksempel:

db.pets.count( {}, { limit: 10 } )

Resultat:

7

Spring af dokumenter over

Du kan tælle ved at bruge skip parameter for at springe et antal dokumenter over før optælling.

Eksempel:

db.pets.count( {}, { skip: 5 } )

Resultat:

2

Udvikling

Bemærk, at MongoDB-dokumentationen angiver følgende:

MongoDB-drivere, der er kompatible med 4.0-funktionerne, forælder deres respektive markør og samling count() API'er til fordel for nye API'er til countDocuments() og estimatedDocumentCount() . For de specifikke API-navne for en given driver, se driverdokumentationen.

Flere oplysninger

db.collection.count() metoden er en indpakning for count kommando.

db.collection.count() metoden accepterer andre parametre, såsom hint , maxTimeMS , readConcern , og collation .

Se MongoDB-dokumentationen for mere information.


  1. 5 måder at få måneden fra en dato i MongoDB

  2. Hvordan indstilles en primær nøgle i MongoDB?

  3. Opret superbruger i mongo

  4. MongoDb-forbindelse afvist