我正在使用$ redact运算符:
{ $redact: {
$cond: {
"if": {
"$lt": [ "$number1", "$number2" ],
},
"then": "$$KEEP",
"else": "$$PRUNE"
}
}}
我想要$and: [{$lt:["$number1, $number2"]}, {$exists:[$number3, 1]}]
,但是我无法获得$ exist或检查null。
您想要$ifNull
它是“等价的”等效项,并具有返回不存在该字段的备用值的附加功能:
{ "$redact": {
"$cond": {
"if": {
"$and": [
{ "$lt": [ "$number1", "$number2" ] },
{ "$ifNull": [ "$number3", false ] }
]
},
"then": "$$KEEP",
"else": "$$PRUNE"
}
}}
因此,在该字段存在的情况下,将返回该字段的值,这与说的话基本相同true
(除非它的值实际上是false
在这种情况下,请使用来换行$cond
),或者返回已提供的替代值false
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句