No MongoDB o
db.collection.count()
retorna a contagem de documentos que corresponderiam a um find()
consulta para a coleção ou exibição. A
collection
parte é o nome da coleção ou visualização para executar a operação de contagem. Observe que ele não executa um
find()
Operação. Ele simplesmente conta e retorna o número de resultados que correspondem a uma consulta. Exemplo
Suponha que tenhamos uma coleção chamada
pets
com os seguintes documentos:{ "_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 }
Podemos usar a seguinte consulta para retornar o número de documentos na coleção:
db.pets.count()
Resultado:
7
Isso é o equivalente a fazer o seguinte:
db.pets.find().count()
Resultado:
7
A documentação do MongoDB realmente desaconselha o uso de
db.collection.count()
sem um predicado de consulta. Isso ocorre porque o método retorna resultados com base nos metadados da coleção, o que pode resultar em uma contagem aproximada. Contar o resultado de uma consulta
Você pode contar o resultado de uma consulta passando os critérios de consulta.
Exemplo:
db.pets.count({
"type": "Dog"
})
Resultado:
4
Neste exemplo, descobrimos que há quatro cães na coleção.
Vamos verificar a contagem de outra consulta. Desta vez vamos descobrir quantos animais de estimação têm um peso superior a uma certa quantidade.
db.pets.count({
"weight": { $gt: 10 }
})
Resultado:
3
Limitar a contagem
Você pode usar o
limit
parâmetro para especificar um número máximo de documentos a serem contados. Exemplo:
db.pets.count( {}, { limit: 5 } )
Resultado:
5
Vimos antes que na verdade existem 7 documentos nesta coleção, mas neste exemplo limitamos a contar no máximo 5.
Se o limite for maior que a contagem real, o resultado não será afetado pelo
limit
argumento. Exemplo:
db.pets.count( {}, { limit: 10 } )
Resultado:
7
Ignorando documentos
Você pode contar usando o
skip
parâmetro para pular vários documentos antes de contar. Exemplo:
db.pets.count( {}, { skip: 5 } )
Resultado:
2
Descontinuação
Observe que a documentação do MongoDB afirma o seguinte:
Drivers MongoDB compatíveis com os recursos 4.0 descontinuam seus respectivos cursores e coleçõescount()
APIs a favor de novas APIs paracountDocuments()
eestimatedDocumentCount()
. Para os nomes de API específicos para um determinado driver, consulte a documentação do driver.
Mais informações
O
db.collection.count()
é um wrapper para o count
comando. O
db.collection.count()
O método aceita outros parâmetros, como hint
, maxTimeMS
, readConcern
, e collation
. Consulte a documentação do MongoDB para obter mais informações.