我的数据集如下:

{
    _id: "joe",
    email: "[email protected]",
    attributes: [ "eyes" : "blue", "height" : "6'0" ]
}

是否可以通过对属性映射中的特定值进行分组来执行聚合?

{
    $group : {
        _id: { eyes: "$eyes" },
        number: { $sum: 1 }
    }
},

最佳答案

你可以这样做:

db.myObject.aggregate(
  {$unwind : "$attributes"},
  {$group : {_id : {eyes : "$attributes.eyes"}, number : {$sum:1}}}
);

关于mongodb - 是否可以使用MongoDB将聚合函数中的映射值分组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20244126/

10-09 20:27