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