Menu Docs
Página inicial do Docs
/ / /
Go
/ /

Localizar vários documentos

Você pode encontrar vários documentos em uma coleção usando o método Find().

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 coleção restaurants na qual o cuisine é "Italian", retorna um cursor que faz referência aos documentos correspondentes e, em seguida, descompacta os documentos em uma fatia:

coll := client.Database("sample_restaurants").Collection("restaurants")
filter := bson.D{{"cuisine", "Italian"}}
// Retrieves documents that match the query filter
cursor, err := coll.Find(context.TODO(), filter)
if err != nil {
panic(err)
}
// Unpacks the cursor into a slice
var results []Restaurant
if err = cursor.All(context.TODO(), &results); err != nil {
panic(err)
}

Visualizar um exemplo completamente executável

A execução do exemplo completo representa os seguintes documentos, que são armazenados na variável results como estruturas Restaurant:

// results truncated
...
{ ... , "Name" : "Epistrophy Cafe", "RestaurantId": "41117553", "Cuisine" : "Italian", ... },
{ ... , "Name" : "Remi", "RestaurantId": "41118090", "Cuisine" : "Italian", ... },
{ ... , "Name" : "Sant Ambroeus", "RestaurantId": "41120682", "Cuisine" : "Italian", ... },
...

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.

  • Find()

  • Cursor

Voltar

Encontrar um documento