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