MongoDB 中的计算

Calculations in MongoDB

我有类似的东西:

    [
{
    ....
    a: 100
    b: 60
},
{
    ....
    a: 130
    b: 40
},
{
    ....
    a: 120
    b: 60
}
]

我想计算: sum(a)/sum(b): (350/160) 并将其放入新字段 提前致谢

首先你应该使用$group得到所有a和b的总和(按_id:1分组),然后使用$project得到a/bMongo Playground):

db.collection.aggregate([
  {
    "$group": {
      "_id": 1,
      "sumA": {
        "$sum": "$a"
      },
      "sumB": {
        "$sum": "$b"
      },
      
    }
  },
  {
    "$project": {
      "aDIVb": {
        "$divide": [
          "$sumA",
          "$sumB"
        ]
      }
    }
  }
])

参考文献:$group, $sum, $project and $divide