Mongodb 分组为字典式结构

Mongodb Group into Dictionary style structure

假设我有以下记录:

{ id: 1, value : 1, Date: 2016-01-01 },
{ id: 1, value : 2, Date: 2016-01-01 },
{ id: 2, value : 3, Date: 2016-01-01 },
{ id: 3, value : 4, Date: 2016-01-01 }

在 mongodb C# 驱动程序中,我将如何调用具有这种数据格式的集合来生成如下内容:

 { 
    {
      id: 1, 
      records : [
        {value : 1, Date: 2016-01-01}, 
        {value : 2, Date: 2016-01-01}
    ]}, 
   { 
      id : 2, 
      records : [{value : 3, Date: 2016-01-01}] 
   },
   { 
      id : 3, 
      records : [{value : 4, Date: 2016-01-01}] 
   }
}

所以我想在 "id" 字段上分组,然后 return 所有结果按其 id 分组作为列表。所以结构类似于 C# 的

 Dictionary<int, List<MyObj>>

刚刚意识到这是一个老问题...但是如果有人遇到它:

目前我还没有 mongo 进行测试,但您应该可以通过 linq 使用聚合,例如:

var query = collection.AsQueryable()
                      .GroupBy(r => r.Id)
                      .Select(g => new { id = g.Key, records = g.Value });