获取所有文档'从MongoDB '收集'
本文关键字:MongoDB 收集 获取 文档 | 更新日期: 2023-09-27 17:50:42
我需要检索我在MongoDB中收集的所有文档,但我无法弄清楚如何。我已经像这样声明了我的"集合"——
private static IMongoCollection<Project> SpeCollection = db.GetCollection<Project>("collection_Project");
我遵循了MongoDB教程中解释的内容。我根据自己的需要进行了调整,比如-
var documents = await SpeCollection.Find(new Project()).ToListAsync();
然而,我一直有以下错误-
MongoDB.Driver。IMongoCollection没有'Find'的定义和扩展方法的最佳覆盖[superlong stuff]。查找包含无效参数。
使用当前版本的驱动程序(v2.0),您可以通过传递一个匹配所有内容的过滤器来做到这一点:
var documents = await SpeCollection.Find(_ => true).ToListAsync();
他们还添加了一个空过滤器(FilterDefinition.Empty
),它将在下一个版本的驱动程序(v2.1)中出现:
var documents = await SpeCollection.Find(Builders<Project>.Filter.Empty).ToListAsync();
最简单的方法
检索所有文档-
var documents = SpeCollection.AsQueryable();
也转换为JSON
对象-
var json = Json(documents, JsonRequestBehavior.AllowGet);
如果你想要所有的文档,为什么不使用Find all
呢?
var documents = await SpeCollection.Find(new BsonDocument()).ToListAsync();