查找文档
您可以使用集合对象上的 Find()
方法检索文档。
例子
使用构建器查找文档
以下示例使用 Builders
查找 restaurants
集合中的文档,该文档的 name
字段的值为“Bagels N Buns”。
选择 Asynchronous 或 Synchronous 标签页,查看相应的代码。
// 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”。
选择 Asynchronous 或 Synchronous 标签页,查看相应的代码。
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。