查找文档
您可以使用 FindOne()
方法从集合中检索单个文档。
例子
提示
参阅使用示例,了解如何运行此示例。
此示例使用以下 Restaurant
结构作为 restaurants
集合中文档的模型:
type Restaurant struct { ID primitive.ObjectID `bson:"_id"` Name string RestaurantId string `bson:"restaurant_id"` Cuisine string Address interface{} Borough string Grades []interface{} }
以下示例匹配 restaurants
集合中 name
为“Bagels N Buns”的文档,并返回匹配的第一个文档:
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) }
查看 完全可运行的示例
预期结果
运行完整示例会打印以下文档,该文档作为 Restaurant
struct 存储在 result
变量中:
// results truncated { "ID": "5eb3d668b31de5d588f42950", "Name": "Bagels N Buns", "RestaurantId": "40363427" "Address": [...], "Borough": "Staten Island", "Cuisine": "Delicatessen", "Grades": [...] }
更多信息
要了解有关指定查询筛选条件和处理潜在错误的更多信息,请参阅检索数据。
要了解有关查询操作符的更多信息,请参阅 MongoDB 查询操作符参考文档。