Docs 菜单

查找文档

您可以使用集合对象上的 Find() 方法检索文档。

以下示例使用 Builders 查找 restaurants 集合中的文档,该文档的 name 字段的值为“Bagels N Buns”。

选择 AsynchronousSynchronous 标签页,查看相应的代码。

// 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 查找restaurants 集合中的文档,该文档的 name 字段的值为“Bagels N Buns”。

选择 AsynchronousSynchronous 标签页,查看相应的代码。

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事务语法。