Puede encontrar varios documentos en una colección utilizando el Find()
.
Ejemplo
Tip
Lea la Ejemplos de uso para aprender cómo ejecutar este ejemplo.
Este ejemplo utiliza la siguiente Restaurant estructura como modelo para los documentos de la colección restaurants:
type Restaurant struct { ID primitive.ObjectID `bson:"_id"` Name string RestaurantId string `bson:"restaurant_id"` Cuisine string Address interface{} Borough string Grades interface{} }
El siguiente ejemplo coincide con los documentos de la colección restaurants en los que el cuisine es "Italian", devuelve un cursor que hace referencia a los documentos coincidentes y luego desempaqueta los documentos en un segmento:
coll := client.Database("sample_restaurants").Collection("restaurants") // Creates a query filter to match documents in which the "cuisine" // is "Italian" 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) }
Resultado esperado
Ejecutar el ejemplo completo imprime los siguientes documentos, que se almacenan en la variable results como structs Restaurant:
// results truncated ... { ... , "Name" : "Epistrophy Cafe", "RestaurantId": "41117553", "Cuisine" : "Italian", ... }, { ... , "Name" : "Remi", "RestaurantId": "41118090", "Cuisine" : "Italian", ... }, { ... , "Name" : "Sant Ambroeus", "RestaurantId": "41120682", "Cuisine" : "Italian", ... }, ...
Información Adicional
Para obtener más información sobre cómo especificar filtros de query y manejar posibles errores, consulta Recuperar datos.
Para obtener más información sobre los operadores del query, consulte la documentación de referencia de operadores del query de MongoDB.