MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB db.collection.count()


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ções count() APIs a favor de novas APIs para countDocuments() e estimatedDocumentCount() . 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.