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

MongoDB db.collection.count()

In MongoDB il db.collection.count() il metodo restituisce il conteggio dei documenti che corrisponderebbero a un find() query per la raccolta o la visualizzazione.

La collection part è il nome della raccolta o della vista su cui eseguire l'operazione di conteggio.

Nota che in realtà non esegue un find() operazione. Conta e restituisce semplicemente il numero di risultati che corrispondono a una query.

Esempio

Supponiamo di avere una collezione chiamata pets con i seguenti documenti:

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

Possiamo utilizzare la seguente query per restituire il numero di documenti nella raccolta:

db.pets.count()

Risultato:

7

Questo equivale a fare quanto segue:

db.pets.find().count()

Risultato:

7

La documentazione di MongoDB in realtà sconsiglia l'uso di db.collection.count() senza un predicato di query. Questo perché il metodo restituisce risultati in base ai metadati della raccolta, il che potrebbe comportare un conteggio approssimativo.

Conta il risultato di una query

Puoi contare il risultato di una query passando i criteri della query.

Esempio:

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

Risultato:

4

In questo esempio, abbiamo scoperto che nella collezione sono presenti quattro cani.

Controlliamo il conteggio di un'altra query. Questa volta scopriremo quanti animali hanno un peso maggiore di una certa quantità.

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

Risultato:

3

Limita il conteggio

Puoi utilizzare il limit parametro per specificare un numero massimo di documenti da contare.

Esempio:

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

Risultato:

5

Abbiamo visto prima che ci sono effettivamente 7 documenti in questa raccolta, ma in questo esempio l'abbiamo limitato a contare un massimo di 5.

Se il limite è superiore al conteggio effettivo, il risultato non sarà influenzato dal limit argomento.

Esempio:

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

Risultato:

7

Saltare i documenti

Puoi contare usando il skip parametro per saltare un numero di documenti prima del conteggio.

Esempio:

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

Risultato:

2

Deprecazione

Nota che la documentazione di MongoDB afferma quanto segue:

I driver MongoDB compatibili con le funzionalità 4.0 deprecano il rispettivo cursore e la raccolta count() API a favore di nuove API per countDocuments() e estimatedDocumentCount() . Per i nomi API specifici per un determinato driver, consulta la documentazione del driver.

Maggiori informazioni

Il db.collection.count() è un wrapper per il count comando.

Il db.collection.count() accetta altri parametri, come hint , maxTimeMS , readConcern e collation .

Consulta la documentazione di MongoDB per ulteriori informazioni.