sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB db.collection.count()

I MongoDB är db.collection.count() metod returnerar antalet dokument som skulle matcha en find() fråga för samlingen eller vyn.

collection del är namnet på samlingen eller vyn att utföra räkneoperationen på.

Observera att den faktiskt inte utför en find() drift. Den räknar helt enkelt och returnerar antalet resultat som matchar en fråga.

Exempel

Anta att vi har en samling som heter pets med följande dokument:

{ "_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 använda följande fråga för att returnera antalet dokument i samlingen:

db.pets.count()

Resultat:

7

Detta motsvarar att göra följande:

db.pets.find().count()

Resultat:

7

MongoDB-dokumentationen avråder faktiskt från att använda db.collection.count() utan ett frågepredikat. Detta beror på att metoden returnerar resultat baserat på samlingens metadata, vilket kan resultera i ett ungefärligt antal.

Räkna resultatet av en fråga

Du kan räkna resultatet av en fråga genom att godkänna frågekriterierna.

Exempel:

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

Resultat:

4

I det här exemplet fick vi reda på att det finns fyra hundar i samlingen.

Låt oss kontrollera antalet för en annan fråga. Den här gången får vi reda på hur många husdjur som väger mer än en viss mängd.

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

Resultat:

3

Begränsa antalet

Du kan använda limit parameter för att ange ett maximalt antal dokument som ska räknas.

Exempel:

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

Resultat:

5

Vi såg tidigare att det faktiskt finns 7 dokument i den här samlingen, men i det här exemplet begränsade vi det till att räkna maximalt 5.

Om gränsen är högre än det faktiska antalet, kommer resultatet inte att påverkas av limit argument.

Exempel:

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

Resultat:

7

Hoppa över dokument

Du kan räkna med skip parameter för att hoppa över ett antal dokument innan räkning.

Exempel:

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

Resultat:

2

Utfasning

Observera att MongoDB-dokumentationen anger följande:

MongoDB-drivrutiner som är kompatibla med 4.0-funktionerna fasar ut deras respektive markör och samling count() API:er till förmån för nya API:er för countDocuments() och estimatedDocumentCount() . För specifika API-namn för en given drivrutin, se drivrutinsdokumentationen.

Mer information

db.collection.count() metoden är ett omslag för count kommando.

db.collection.count() metoden accepterar andra parametrar, såsom hint , maxTimeMS , readConcern och collation .

Se MongoDB-dokumentationen för mer information.


  1. Selleri försöker ansluta till fel mäklare

  2. Vad är Hadoop Reducer Class i MapReduce?

  3. Hur man installerar NodeJS med MongoDB på Ubuntu

  4. De tre A:en för MongoDB Security – Autentisering, auktorisering och revision