Puede encontrar varios documentos en una colección utilizando el Find()
.
Ejemplo
Tip
Lea el Ejemplos de uso para aprender a ejecutar este ejemplo.
Este ejemplo utiliza la siguiente estructura Restaurant 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 busca documentos en la colección restaurants en los que cuisine es "Italian", devuelve un cursor que hace referencia a los documentos coincidentes y luego descomprime los documentos en una porción:
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) }
Ver una ejemplo completamente ejecutable
Resultado esperado
Al ejecutar el ejemplo completo se imprimen los siguientes documentos, que se almacenan en la variable results como estructuras 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 consulta y manejar posibles errores, consulte Recuperar datos.
Para obtener más información sobre los operadores de consulta, consulte la documentación de referencia de operadores de consulta de MongoDB.