Mongodb: como contar valores distintos em um campo


Você pode usar os seguintes métodos para contar valores distintos em um campo específico no MongoDB:

Método 1: Encontre uma lista de valores distintos

 db.collection.distinct( 'field_name' )

Método 2: Encontre o número de valores distintos

 db.collection.distinct( 'field_name' ).length

Os exemplos a seguir mostram como usar cada método com uma equipe de coleta com os seguintes documentos:

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Rockets ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

Exemplo 1: Encontre uma lista de valores distintos

Podemos usar o seguinte código para encontrar uma lista de valores distintos no campo “equipe”:

 db.teams.distinct( 'team' )

Esta consulta retorna o seguinte resultado:

 ['Cavs', 'Mavs', 'Rockets']

O resultado mostra os três nomes de equipes distintos de todos os documentos.

Também poderíamos usar o seguinte código para encontrar uma lista de valores distintos no campo “posição”:

 db.teams.distinct( 'position' )

Esta consulta retorna o seguinte resultado:

 ['Center', 'Forward', 'Guard']

Nota : O MongoDB classifica valores distintos em ordem alfabética por padrão.

Exemplo 2: Encontre o número de valores exclusivos

Podemos usar o seguinte código para contar o número de valores distintos no campo “equipe”:

 db.teams.distinct( 'team' ).length

Esta consulta retorna o seguinte resultado:

 3

Isso nos diz que existem 3 valores distintos no campo “equipe”.

Também podemos usar o seguinte código para contar o número de valores exclusivos no campo “pontos”:

 db.teams.distinct( 'points' ).length

Esta consulta retorna o seguinte resultado:

 5

Isso nos diz que existem 5 valores distintos no campo “pontos”.

Nota : Você pode encontrar a documentação completa da função separada aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns no MongoDB:

MongoDB: Como agrupar e contar
MongoDB: Como agrupar por vários campos
MongoDB: Como encontrar o valor máximo em uma coleção

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *