Menu Docs

Página inicial do DocsGo

Retrieve Distinct Values

Nesta página

  • Visão geral
  • Dados de amostra
  • distinto
  • Modificar comportamento
  • Informações adicionais
  • Documentação da API

Neste guia, você pode aprender como recuperar valores distintos para um campo especificado em uma única collection.

Para executar os exemplos neste guia, carregue os dados de amostra na collection tea.ratings com o seguinte trecho:

coll := client.Database("tea").Collection("ratings")
docs := []interface{}{
bson.D{{"type", "Masala"}, {"rating", 10}},
bson.D{{"type", "Matcha"}, {"rating", 7}},
bson.D{{"type", "Masala"}, {"rating", 4}},
bson.D{{"type", "Oolong"}, {"rating", 9}},
bson.D{{"type", "Matcha"}, {"rating", 5}},
bson.D{{"type", "Earl Grey"}, {"rating", 8}},
bson.D{{"type", "Oolong"}, {"rating", 3}},
bson.D{{"type", "Matcha"}, {"rating", 6}},
bson.D{{"type", "Earl Grey"}, {"rating", 4}},
}
result, err := coll.InsertMany(context.TODO(), docs)
if err != nil {
panic(err)
}
fmt.Printf("Number of documents inserted: %d\n", len(result.InsertedIDs))

Dica

Bancos de Dados e Coleções Inexistentes

Se o banco de dados e a collection necessários não existirem quando você executar uma operação de escrita, o servidor implicitamente os criará.

Cada documento contém uma classificação para um tipo de chá que corresponde aos campos type e rating .

Para recuperar valores distintos para um campo especificado em uma única collection, passe os seguintes parâmetros para o método Distinct() :

  • O nome do campo para o qual você deseja valores distintos

  • Um filtro de query non-nil especificando quais documentos devem ser correspondidos

Dica

Se você especificar um filtro de query vazio, o método corresponderá a todos os documentos em uma collection.

Você pode modificar o comportamento do método Distinct() passando um DistinctOptions. Se você não especificar um DistinctOptions, o driver utilizará os valores padrão para cada opção.

O tipo DistinctOptions permite a você configurar opções com os seguintes métodos:

Método
Descrição
SetCollation()
The type of language collation to use when sorting results.
Default: nil
SetMaxTime()
The maximum amount of time that the query can run on the server.
Default: nil

O exemplo a seguir corresponde a todos os documentos e imprime os valores distintos do campo type usando o método Distinct() :

results, err := coll.Distinct(context.TODO(), "type", bson.D{})
if err != nil {
panic(err)
}
for _, result := range results {
fmt.Println(result)
}

Para obter um exemplo executável de recuperação de valores distintos, consulte Recuperar valores distintos de um campo.

Para saber mais sobre a construção de um filtro de query, consulte Especificar uma query.

Para saber mais sobre qualquer um dos métodos ou tipos discutidos neste guia, consulte a seguinte documentação da API:

←  Acessar dados de um cursorClassificar resultados →
Dê Feedback
© 2022 MongoDB, Inc.

Sobre

© 2022 MongoDB, Inc.