gpt4 book ai didi

mongodb - $addFields(聚合)如何只在满足某个条件时使用

转载 作者:行者123 更新时间:2023-12-05 02:04:46 27 4
gpt4 key购买 nike

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

  • 当使用 $cond 时,它是一个 bool 值,所以我必须添加一个带有日期值或 false 的字段
  • 当使用if时,我必须提供elsethen条件

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

最佳答案

从 MongoDB 3.6 开始,您可以使用变量 $$REMOVE在聚合表达式中有条件地抑制字段。有关示例,请参阅 Conditionally Exclude Fields ,

  {
$addFields: {
date: {
$cond: [
{ $gt: [{ $size: "$array" }, 0] },
"date field", // your date field
"$$REMOVE"
]
}
}
}

Playground

关于mongodb - $addFields(聚合)如何只在满足某个条件时使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64103338/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com