【问题标题】:how to conditionally concatenate fields in mongodb aggregation如何有条件地连接mongodb聚合中的字段
【发布时间】:2018-11-25 18:27:41
【问题描述】:

我想通过连接一些字段来构建一个字符串,但我想在决定连接之前检查每个字段的值。

//syntax:
{$projection:{fieldName:{$concat:["$field1","-","$field2","$field3"]}}}

我想要什么?

fieldName=($field1!=null?"$field1-":"")+"$field2"+($field3=="ok"?"approved":"pending")

【问题讨论】:

    标签: mongodb mongodb-query aggregation-framework


    【解决方案1】:

    对于第一种情况(null),您将使用$ifNull 运算符。如果该字段为空或缺失,这将返回一个默认值。

    对于第二种情况,使用$cond 运算符。

    fieldName:{
     $concat:
     [
      {$ifNull:["$field1", ""]},
      "-",
      "$field2", 
      {$cond:[{$eq:['$field3', 'ok']}, "approved", "pending"] }
     ]
    }
    
    
    

    【讨论】:

      猜你喜欢
      • 2023-01-04
      • 1970-01-01
      • 2015-03-25
      • 2022-12-02
      • 1970-01-01
      • 1970-01-01
      • 2021-06-02
      • 2019-09-21
      • 1970-01-01
      相关资源
      最近更新 更多