sql >> Database >  >> NoSQL >> MongoDB

MongoDB cursor.count()

In MongoDB de cursor.count() methode telt het aantal documenten waarnaar wordt verwezen door een cursor..

Merk op dat het de query niet daadwerkelijk uitvoert. Het telt gewoon en geeft het aantal resultaten terug dat door de zoekopdracht zou worden geretourneerd.

De cursor.count() methode is een wrapper voor de count commando.

Voorbeeld

Stel dat we een verzameling hebben met de naam pets met de volgende documenten:

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

We kunnen de volgende query gebruiken om het aantal documenten in de collectie te retourneren:

db.pets.find().count()

Resultaat:

7

Dit komt overeen met het volgende:

db.pets.count()

Resultaat:

7

De MongoDB-documentatie raadt het gebruik van cursor.count() eigenlijk af wanneer de find() methode wordt aangeroepen zonder een query-predikaat. In dergelijke gevallen zijn de resultaten namelijk gebaseerd op de metadata van de collectie, wat kan resulteren in een geschatte telling.

Tel het resultaat van een zoekopdracht

U kunt het resultaat van een zoekopdracht tellen door de zoekopdrachtcriteria door te geven aan de find() methode.

Voorbeeld:

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

Resultaat:

4

In dit voorbeeld kwamen we erachter dat er vier honden in de collectie zijn.

Laten we het aantal van een andere zoekopdracht controleren. Deze keer zullen we ontdekken hoeveel huisdieren een groter gewicht hebben dan een bepaald aantal.

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

Resultaat:

3

Beëindiging

Merk op dat de MongoDB-documentatie het volgende vermeldt:

MongoDB-stuurprogramma's die compatibel zijn met de 4.0-functies depreciëren hun respectieve cursor en verzameling count() API's voor nieuwe API's voor countDocuments() en estimatedDocumentCount() . Zie de driverdocumentatie voor de specifieke API-namen voor een bepaalde driver.

De applySkipLimit Parameter

De cursor.count() methode accepteert één optionele parameter:de applySkipLimit parameter.

Deze parameter geeft aan of de effecten van de cursor.skip() . moeten worden overwogen en cursor.limit() methoden in de telling.

Standaard negeert het alle effecten van deze twee methoden. Gebruik appySkipLimit: true . om de effecten op te nemen .

Meer informatie

Zie de MongoDB-documentatie voor meer informatie.


  1. MongoDB:documenten bijwerken met gegevens uit hetzelfde document

  2. Kon geen verbinding maken met Redis om 10.XX.XX.28:6379:onbekende fout - tijdens toegang vanaf Spring Batch of Windows-machine

  3. MongoDB:Tellen hoeveel van elke afzonderlijke waarden er zijn?

  4. Zet in Flask een POST-object om in een representatie die geschikt is voor mongodb