如何在 mongo 中减去嵌套数组对象的值

问题描述 投票:0回答:1

我想知道如何减去mongodb中的嵌套数组对象字段值。

{
  Active: [
    {min: 1, energy: 24},
    {min: 2, energy: 34},
    {min: 3, energy: 65}
  ]
}

预期输出: 差异:65-24 = 41

我试过这个:

{
  $project: {
    Difference: {
      $subtract: ["$active.3.energy","$active.0.energy"]
    }
  }
}

查询2:

{
  $project: {
    Difference: {
      $subtract: ["$active.$[n].energy","$active.0.energy"]
    }
  }
}
javascript mongodb mongodb-query aggregation-framework
1个回答
0
投票

这是您可以做到的一种方法。

db.collection.aggregate([
  {
    "$project": {
      "Difference": {
        "$subtract": [
          {"$arrayElemAt": ["$Active.energy", 2]},
          {"$arrayElemAt": ["$Active.energy", 0]}
        ]
      }
    }
  }
])

mongoplayground.net.

上试试
© www.soinside.com 2019 - 2024. All rights reserved.