我想通过连接某些字段来构建一个字符串,但是我想在决定连接它之前检查每个字段的值。
//syntax:
{$projection:{fieldName:{$concat:["$field1","-","$field2","$field3"]}}}
我想要什么?
fieldName=($field1!=null?"$field1-":"")+"$field2"+($field3=="ok"?"approved":"pending")
答案 0 :(得分:2)
对于第一种情况(空),您将使用$ifNull
运算符。如果该字段为空或丢失,它将返回默认值。
对于第二种情况,请使用$cond
运算符。
fieldName:{
$concat:
[
{$ifNull:["$field1", ""]},
"-",
"$field2",
{$cond:[{$eq:['$field3', 'ok']}, "approved", "pending"] }
]
}