2012-07-06 87 views
2

如果在shell命令是:MongoDB的C#CommandDocument如何添加查詢

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#...

在此先感謝!

回答

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 
} 
1
 Query.And(Query.GT("datetime", DateTime.UtcNow), Query.LT("datetime", DateTime.UtcNow));