MongoDB 检查 $switch 语句中的空字段

Posted

技术标签:

【中文标题】MongoDB 检查 $switch 语句中的空字段【英文标题】:MongoDB check for null fields in $switch statement 【发布时间】:2019-03-13 16:20:06 【问题描述】:

我正在尝试检查我的 $switch 语句中的空字段/缺失字段,但它不起作用。这是我的代码

$switch: 
                branches: [
                    
                        case: 
                            $and: [
                                 $gte: ["$SmartPriority", 6] ,
                                 $ne: ["$FlashTRFPromotionDate", null] ,
                                 $ne: ["$FlashTRFPromotionDate", ""] ,
                                 $ne: ["$FlashTRFPromotionDate", false] 
                            ]
                        ,
                        then: "Greater than"
                    
                ],
                default: "EMPTY"
            

即使 $ne 为“null”或“false”,它也不会显示 EMPTY(默认值)。我的表情应该是什么?

【问题讨论】:

【参考方案1】:

应该是这样的

"$switch": 
   "branches": [
     "case":  "$gte": ["$SmartPriority", 6] , "then": "Greater than" ,
     "case":  "$ne": ["$FlashTRFPromotionDate", null] , "then": "EMPTY" ,
     "case":  "$ne": ["$FlashTRFPromotionDate", ""] , "then": "Greater than" ,
     "case":  "$ne": ["$FlashTRFPromotionDate", false] , "then": "EMPTY" 
  ],
  "default": "EMPTY"

【讨论】:

以上是关于MongoDB 检查 $switch 语句中的空字段的主要内容,如果未能解决你的问题,请参考以下文章

将空字符串写入 MongoDB 输出 - Pentaho

下划线符号是不是会忽略或检查 Swift 中 switch 语句中的无效性?

如何用函数链中的空字符串替换数据库中的空值

java检查char是不是是switch case语句中的数字[关闭]

IOS,如何在数组中的 dic 中循环 dic 以替换空字符串的空值

我们可以在 Switch 上创建索引吗?MongoDB 中的案例