MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB db.collection.count()

In MongoDB die db.collection.count() -Methode gibt die Anzahl der Dokumente zurück, die mit find() übereinstimmen würden Abfrage für die Sammlung oder Ansicht.

Die collection part ist der Name der Sammlung oder Ansicht, für die der Zählvorgang ausgeführt werden soll.

Beachten Sie, dass es nicht wirklich ein find() durchführt Betrieb. Es zählt einfach und gibt die Anzahl der Ergebnisse zurück, die mit einer Suchanfrage übereinstimmen.

Beispiel

Angenommen, wir haben eine Sammlung namens pets mit folgenden Dokumenten:

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

Wir können die folgende Abfrage verwenden, um die Anzahl der Dokumente in der Sammlung zurückzugeben:

db.pets.count()

Ergebnis:

7

Dies entspricht dem folgenden Vorgehen:

db.pets.find().count()

Ergebnis:

7

Die MongoDB-Dokumentation rät tatsächlich davon ab, db.collection.count() zu verwenden ohne Abfrageprädikat. Dies liegt daran, dass die Methode Ergebnisse basierend auf den Metadaten der Sammlung zurückgibt, was zu einer ungefähren Anzahl führen kann.

Das Ergebnis einer Abfrage zählen

Sie können das Ergebnis einer Abfrage zählen, indem Sie die Abfragekriterien übergeben.

Beispiel:

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

Ergebnis:

4

In diesem Beispiel haben wir herausgefunden, dass die Sammlung vier Hunde enthält.

Lassen Sie uns die Anzahl einer anderen Abfrage überprüfen. Dieses Mal werden wir herausfinden, wie viele Haustiere ein bestimmtes Gewicht überschreiten.

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

Ergebnis:

3

Beschränken Sie die Anzahl

Sie können das limit verwenden Parameter, um eine maximale Anzahl von zu zählenden Dokumenten anzugeben.

Beispiel:

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

Ergebnis:

5

Wir haben zuvor gesehen, dass diese Sammlung tatsächlich 7 Dokumente enthält, aber in diesem Beispiel haben wir sie auf maximal 5 beschränkt.

Wenn das Limit höher ist als die tatsächliche Anzahl, wird das Ergebnis nicht durch das limit beeinflusst Argument.

Beispiel:

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

Ergebnis:

7

Dokumente überspringen

Sie können mit skip zählen Parameter, um eine Reihe von Dokumenten vor dem Zählen zu überspringen.

Beispiel:

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

Ergebnis:

2

Einstellung

Beachten Sie, dass in der MongoDB-Dokumentation Folgendes angegeben ist:

MongoDB-Treiber, die mit den 4.0-Funktionen kompatibel sind, verwerfen ihren jeweiligen Cursor und ihre Sammlung count() APIs zugunsten neuer APIs für countDocuments() und estimatedDocumentCount() . Die spezifischen API-Namen für einen bestimmten Treiber finden Sie in der Treiberdokumentation.

Weitere Informationen

Die db.collection.count() Methode ist ein Wrapper für den count Befehl.

Die db.collection.count() -Methode akzeptiert andere Parameter, wie z. B. hint , maxTimeMS , readConcern , und collation .

Weitere Informationen finden Sie in der MongoDB-Dokumentation.