Menu Docs
Página inicial do Docs
/ / /
Node.js
/

Recuperar valores distintos de um campo

Você pode recuperar uma lista de valores distintos para um campo em uma collection usando o método collection.distinct(). método. Chame o método distinct() em um Collection com um parâmetro de nome de campo de documento como String para produzir uma lista que contenha um de cada um dos diferentes valores encontrados no campo do documento especificado, conforme mostrado abaixo:

const distinctValues = collection.distinct("countries", query);

Você pode especificar um campo de documento dentro de um documento incorporado usando a notação de ponto. Se você chamar distinct() em um campo de documento que contém uma array, o método tratará cada elemento como um valor separado. Consulte o seguinte exemplo de uma chamada de método para o campo wins no subdocumento awards :

const distinctValues = collection.distinct("awards.wins", query);

Você pode especificar opções de consulta adicionais utilizando o objeto options passado como o terceiro parâmetro para o método distinct(). Para obter detalhes sobre os parâmetros de consulta, consulte o método distinct() na documentação da API.

Se você especificar um valor para o nome do campo do documento que não é do tipo String como Document, Array, Number ou null, o método não será executado e retornará um erro do TypeMismatch com uma mensagem semelhante ao seguinte:

"key" teve o tipo errado. String esperada, encontrada <non-string type>

Visite Recuperar Valores Distintos para mais informações sobre o método distinct().

O seguinte trecho recupera uma lista de valores distintos para o campo de documento year da coleção movies. Utiliza um documento de consulta para corresponder a filmes que incluem "Barbara Streisand" como director.

Observação

Você pode utilizar este exemplo para se conectar a uma instância do MongoDB e interagir com um banco de dados que contém dados de amostra. Para saber mais sobre como se conectar à sua instância do MongoDB e carregar um conjunto de dados de amostra, consulte o Guia de exemplos de uso.

Se você executar o exemplo anterior, verá a seguinte saída:

[ 1983, 1991, 1996 ]
← Contagem de documentos