2

如果shell中的命令是:

db.runCommand({"distinct":"log", "key":"cs_uri_stem"});

我发现相应的 C# 代码是:

var command = new CommandDocument { 
                                            { "distinct", "log" }, 
                                            { "key", "cs_uri_stem"},
                                    };

但是下面的命令呢?

db.runCommand({"distinct":"log", "key":"cs_uri_stem", query:{ datetime: { $gt: new ISODate("2012-07-05T19:55:18.475Z"), $lt:new ISODate("2012-07-05T20:55:18.475Z")} }})

我不知道如何在 C# 中做到这一点......

提前致谢!!

4

2 回答 2

1

还在以下位置提问和回答:

https://groups.google.com/forum/?fromgroups#!topic/mongodb-user/TKZj_Qs0W5E

MongoCollection 中实际上有一个可以使用的辅助方法。您的第二个不同的命令可以用 C# 编码,如下所示:

var collection = database.GetCollection("log");
var query = Query.And(
    Query.GT("datetime", new DateTime(2012, 7, 5, 19, 55, 18, 475, DateTimeKind.Utc)),
    Query.LT("datetime", new DateTime(2012, 7, 5, 20, 55, 18, 475, DateTimeKind.Utc))
);
var result = collection.Distinct("cs_uri_stem", query);
foreach (var distinctValue in result)
{
    // process distinctValue
}
于 2012-07-06T01:57:16.197 回答
1
        Query.And(Query.GT("datetime", DateTime.UtcNow), Query.LT("datetime", DateTime.UtcNow));
于 2012-07-06T01:34:55.843 回答