Mongodb聚合,在$group_id的表达式中使用变量的值

Fre*_* J. 1 javascript mongodb mongodb-query aggregation-framework mongodb-aggregation

我正在尝试按两个字段对文档进行分组,field1并且field2.

myCollection.aggregate([{
  $group: {
    _id: {
      group1: "$field1",
      group2: "$field2"
    },
    count: {
      $sum: 1
    }
  }
}])
Run Code Online (Sandbox Code Playgroud)

效果很好,可以产生预期的结果。

但我想在循环中重新运行上面的代码,每次运行都会有不同的结果$field2,所以下面的代码失败了,我该怎么办?谢谢

myCollection.aggregate([{
  $group: {
    _id: {
      group1: "$field1",
      group2: "$field2"
    },
    count: {
      $sum: 1
    }
  }
}])
Run Code Online (Sandbox Code Playgroud)

DAX*_*lic 5

以下内容应该适合您

var field3  = 'someValue';
myCollection.aggregate([{
  $group: {
    _id: {
      group1: "$field1",
      group2: "$" + field3,
    },
    count: {
      $sum: 1
    }
  }
}])
Run Code Online (Sandbox Code Playgroud)