如何使用c#MongoCursor获取不同的值?

时间:2014-07-21 19:59:30

标签: c# mongodb distinct

我使用c#mongodb驱动程序进行查询。如果我使用db.GetCollection.Distinct()函数,然后调用MongoCursor collection.FindAs(query),我将收到错误:'System.Collections.Generic.IEnumerable<applition>' does not contain a definition for 'FindAs' and no extension method 'FindAs' accepting a first argument of type 'System.Collections.Generic.IEnumerable<application>' could be found.

在使用mongodb游标和IMongoQuery的情况下,是否有人知道如何调用不同的函数?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我使用runCommand方法完成了所需的结果。 我有一个名为&#34; capped&#34;的集合。其中包含名为&#34; x&#34;的字段的记录。我在集合中插入了不同的值,其中有多个值为27。 下面的Javascript语句说&#34;我希望收集上限的不同值,其中distinc键是名为&#39; x&#39;,我正在查询x为27&#34;的值。

在Javascript中,它看起来像这样:

  

db.runCommand({&#34; distinct&#34;:&#34; capped&#34;,&#34; query&#34;:{&#34; x&#34;:27},&# 34;键&#34;:&#34; X&#34;   });

在C#中,它看起来有点相似:

      CommandDocument distinctCmd = new CommandDocument{
          {"distinct", "capped"},
          {"query", new BsonDocument("x", 27)},
          {"key", "x"}            };
      CommandResult r = database.RunCommand(distinctCmd);