查找文档
您可以使用集合对象上的Find()
方法检索文档。
示例
使用构建器查找文档
以下示例使用 构建器
在 restaurants
集合中查找具有 "Bagels N Buns" 值的 name
字段的文档。
选择异步 或 同步 选项卡以查看相应的代码。
// Creates a filter for all documents that have a "name" value of "Bagels N Buns" var filter = Builders<Restaurant>.Filter .Eq(r => r.Name, "Bagels N Buns"); // Asynchronously retrieves the first document that matches the filter return await _restaurantsCollection.Find(filter).FirstOrDefaultAsync();
要查看使用 Find()
方法异步查找单个文档的完整可运行示例,请参阅异步查找单个示例.
// Creates a filter for all documents that have a "name" value of "Bagels N Buns" var filter = Builders<Restaurant>.Filter .Eq(r => r.Name, "Bagels N Buns"); // Retrieves the first document that matches the filter var restaurant = _restaurantsCollection.Find(filter).FirstOrDefault();
要查看使用 Find()
方法同步查找单个文档的完整可运行示例,请参阅 同步查找单个示例。
使用LINQ查找文档
以下示例使用LINQ在 restaurants
集合中查找具有 name
字段且值为 "Bagels N Buns" 的文档。
选择 异步 或 同步 选项卡以查看相应的代码。
return await _restaurantsCollection.AsQueryable() .Where(r => r.Name == "Bagels N Buns").FirstOrDefaultAsync();
要查看使用 Find()
方法异步查找单个文档的完整示例,请参阅 异步查找单个示例。
var query = _restaurantsCollection.AsQueryable() .Where(r => r.Name == "Bagels N Buns").FirstOrDefault();
要查看使用 Find()
方法同步查找单个文档的完整可运行示例,请参阅 同步查找单个示例。
预期结果
运行前面的任何完整示例都将打印出类似于以下的结果
{ "_id" : ObjectId("5eb3d668b31de5d588f42950"), "name" : "Bagels N Buns", "restaurant_id" : "40363427", "cuisine" : "Delicatessen", "address" : {...}, "borough" : "Staten Island", "grades" : [...] }
附加信息
要了解更多关于检索文档的信息,请参阅检索数据指南。
要了解更多关于使用构建器的信息,请参阅使用构建器进行操作。
要了解如何使用LINQ查找文档,请参阅LINQ。