2015-10-01 102 views
1

我想要做的就是按DateEntered和Role進行分組並獲取計數。 下面的代碼工作,但完整日期組到第二個。我需要它按日(MM/DD/YYYY)進行分組C#MongoDB組(聚合)按日期

另外我想使用Lambda表達式。

謝謝您的高級。

var group = new BsonDocument { 
      { "_id", new BsonDocument 
       { 
        { "DateEntered", "$DateEntered" }, 
        { "Role", "$Role" }, 
       }   
      }, 
      { "Count", new BsonDocument("$sum", 1) } 
          }; 

var result = _collection.Aggregate() 
       .Group(group) 
       .ToListAsync().Result; 
+0

存放日期爲yyyy-MM-DD可能會更容易。此外,您還遵循ISO 8061標準。 (http://www.iso.org/iso/home/standards/iso8601.htm) –

回答

1

我找到了答案,從這個例子 Mongodb aggregate not grouping documents by date

  var group = new BsonDocument { { "_id", new BsonDocument 
             { 
              { "Month", new BsonDocument("$month", "$DateEntered") }, 
              { "Day", new BsonDocument("$dayOfMonth", "$DateEntered") }, 
              { "Year", new BsonDocument("$year", "$DateEntered") }, 
              { "Role", "$Role" }, 
             } 
             }, { "Count", new BsonDocument("$sum", 1) } };