Mongodb c#检索元素

Mongodb c#检索元素,c#,mongodb,C#,Mongodb,我尝试从数据库集合中检索特定元素 collection.Find(new BsonDocument()).ForEachAsync(X => Console.WriteLine(X)); 此代码给出如下内容: {“_id”:ObjectId(“599d420bf2e1abfed53fe3c6”),“no”:9,“word”:“write”} {“_id”:ObjectId(“599d420bf2e1abfed53fe3c8”),“no”:10,“word”:“first”} {“_id”

我尝试从数据库集合中检索特定元素

collection.Find(new BsonDocument()).ForEachAsync(X => Console.WriteLine(X));
此代码给出如下内容:

{“_id”:ObjectId(“599d420bf2e1abfed53fe3c6”),“no”:9,“word”:“write”}

{“_id”:ObjectId(“599d420bf2e1abfed53fe3c8”),“no”:10,“word”:“first”}

{“_id”:ObjectId(“599d420bf2e1abfed53fe3ca”),“no”:11,“word”:“water”}

但我只想看到:

write
first
water 

我该怎么做?谢谢

因为我不知道您的数据是什么样子,所以我创建了自己的测试样本,以便您可以看到我如何使用投影来解决问题。如您所见,我创建了一个简单的测试集合callbook,其中包含一个带有属性词的文档。它还具有隐含的“\u id”属性 我在LINQPad中创建了一个小示例应用程序来演示

//在此处定义其他方法和类
课堂用书
{
公共对象id{get;set;}
公共字符串字{get;set;}
}
void Main()
{
var mongoConnectionString=@“mongodb://Topaz:p%40$$w0rd@localhost";
var client=new MongoDB.Driver.MongoClient(mongoConnectionString);
var db=client.GetDatabase(“测试”);
var col=db.GetCollection(“账簿”);
var filter=Builders.filter.Empty;
var projection=Builders.projection.Expression(m=>m.Word);
var options=newfindoptions{BatchSize=256,Projection=Projection};
var results=新列表();
使用(var cursor=col.FindAsync(过滤器,选项).Result)
{
while(cursor.MoveNextAsync().Result)
{
var batch=游标。当前为IList;
结果:添加范围(批次);
}
}
results.ForEach(a=>Console.WriteLine(a));
}
这是我得到的输出

Foo Bar 福 酒吧 我希望这对你有帮助。如果有,请标记我的答案并在评论中告诉我。多谢各位