2

シェルのコマンドが次の場合:

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
        Query.And(Query.GT("datetime", DateTime.UtcNow), Query.LT("datetime", DateTime.UtcNow));
于 2012-07-06T01:34:55.843 に答える
1

また、質問と回答:

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

実際、MongoCollectionには使用できるヘルパーメソッドがあります。2番目の個別のコマンドは、次のように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 に答える