Encontrar um documento
Você pode recuperar um único documento de uma coleção usando o método FindOne()
.
Exemplo
Dica
Leia os Exemplos de uso para saber como executar este exemplo.
Este exemplo utiliza a seguinte estrutura Restaurant
como um modelo para documentos na collection restaurants
:
type Restaurant struct { ID primitive.ObjectID `bson:"_id"` Name string RestaurantId string `bson:"restaurant_id"` Cuisine string Address interface{} Borough string Grades []interface{} }
O exemplo a seguir corresponde a documentos na collection restaurants
em que o name
é "Bagels N Buns", retornando o primeiro documento correspondente:
coll := client.Database("sample_restaurants").Collection("restaurants") // Creates a query filter to match documents in which the "name" is // "Bagels N Buns" filter := bson.D{{"name", "Bagels N Buns"}} // Retrieves the first matching document var result Restaurant err = coll.FindOne(context.TODO(), filter).Decode(&result) // Prints a message if no documents are matched or if any // other errors occur during the operation if err != nil { if err == mongo.ErrNoDocuments { return } panic(err) }
Veja um exemplo totalmente executável
Resultado esperado
A execução do exemplo completo imprime o seguinte documento, que é armazenado na variável result
como uma estrutura Restaurant
:
// results truncated { "ID": "5eb3d668b31de5d588f42950", "Name": "Bagels N Buns", "RestaurantId": "40363427" "Address": [...], "Borough": "Staten Island", "Cuisine": "Delicatessen", "Grades": [...] }
Informações adicionais
Para saber mais sobre como especificar filtros de queries e lidar com possíveis erros, consulte Retrieve Data (Recuperar dados).
Para saber mais sobre operadores de query, consulte a documentação de referência do operador de query do MongoDB.