从MongoDB中的$ addFields访问字段

时间:2018-12-08 13:18:11

标签: mongodb mongoose aggregate

我使用MongoDB聚合,并希望使用通过$ addFields添加的字段进行计算。有可能吗?没有$ project将是最好的。

Post.aggregate([
  { $match: { _id: "id" },
  { $addField: {
      first: 5,
      second: 10,
      third: { $add: ["$first", "$second"] }
    } 
  } 
)]

1 个答案:

答案 0 :(得分:0)

您不能在同一管道阶段访问这些字段(只能引用从上一个管道阶段返回的字段),而必须在下一阶段进行操作:

Post.aggregate([
    { $match: { _id: "id" },
    { 
        $addField: {
            first: 5,
            second: 10           
        } 
    },
    {
        $addFields: {
            third: { $add: ["$first", "$second"] }
        }
    }
])