Mongodb 如何仅在满足特定条件时使用$addFields(聚合)

Mongodb 如何仅在满足特定条件时使用$addFields(聚合),mongodb,aggregation-framework,Mongodb,Aggregation Framework,我试图仅在满足特定条件时添加字段,例如,如果数组大小>0,则使用$addFields添加字段“date”,否则不要添加它 当使用$cond时,它是一个布尔值,因此我必须添加一个带有日期值或false的字段 使用时,如果我必须提供其他,然后条件 关于如何实现这一点,您有什么想法吗?从MongoDB 3.6开始,您可以使用聚合表达式中的变量有条件地抑制字段。例如,请参见 非常感谢!不知道您可以使用“$$REMOVE” { $addFields: { date: {

我试图仅在满足特定条件时添加字段,例如,如果数组大小>0,则使用
$addFields
添加字段“date”,否则不要添加它

  • 当使用
    $cond
    时,它是一个布尔值,因此我必须添加一个带有日期值或false的字段
  • 使用
    时,如果
    我必须提供
    其他
    然后
    条件

关于如何实现这一点,您有什么想法吗?

从MongoDB 3.6开始,您可以使用聚合表达式中的变量有条件地抑制字段。例如,请参见


非常感谢!不知道您可以使用“$$REMOVE”
  {
    $addFields: {
      date: {
        $cond: [
          { $gt: [{ $size: "$array" }, 0] },
          "date field", // your date field
          "$$REMOVE"
        ]
      }
    }
  }