如何返回MongoCursor的第一个元素?

时间:2016-05-10 18:02:38

标签: c# mongodb

我有一个包含至少一个元素的游标:

MongoCursor cursor = oColl.FindAs<CMongoCon>(Query.EQ("isAc", "1"));

我想只返回第一个元素。现在我这样做

foreach (CMongoCon job in cursor)
{
  return job;
}

是否会有更简单的方法,因为我知道它是第一个元素?

2 个答案:

答案 0 :(得分:0)

这有用吗?

using System.Linq;

...

var whatYouAreAfter = cursor.FirstOrDefault();

cursor.First()也应该有效。只取决于你需要的东西。

从这里大力启发:https://stackoverflow.com/a/19492292/2524589

答案 1 :(得分:0)

为什么不简单地使用C#fluent API来查询来自mongo的数据?此示例在我的设置上正常工作。

public Doc GetFirstExistingDocument()
{
    var client = new MongoClient();
    var database = client.GetDatabase("test");

    return database.GetCollection<Doc>("docs")
        .Find(doc => !doc.Deleted)
        .Sort(Builders<Doc>.Sort.Ascending(doc => doc.Date))
        .First();
}