key
の中括弧を忘れました 値であり、その行を,
で終了する必要があります ;
の代わりに 。
db.issues.group({
key: {"comments.username":true},
initial: {sum:0},
reduce: function(doc, prev) {prev.sum +=1},
});
更新
comments
を実現した後 は配列です...aggregate
を使用する必要があります そのため、comments
を「巻き戻す」ことができます 次にグループ化します:
db.issues.aggregate(
{$unwind: '$comments'},
{$group: {_id: '$comments.username', sum: {$sum: 1}}}
);
質問のサンプルドキュメントの場合、次のように出力されます。
{
"result": [
{
"_id": "Brandon Black",
"sum": 1
},
{
"_id": "Nelson Elhage",
"sum": 3
}
],
"ok": 1
}