2017-07-04 282 views
0

我想在Redash中使用$ cond将true/false/null转换为报表的有意义的值。当我执行查询时,我只能得到假的情况。

这是我的查询下面。我在投影中包含了“isSuggestedProgram”,以便我现在可以验证这些值。

无论isSuggestedProgram的值如何,所有结果都显示“Custom”作为结果。我在做$ cond的方式有什么问题?

{ 
    "collection": "Program", 
    "aggregate": [ 
     { 
      "$project": { 
       "isSuggestedProgram": "$isSuggestedProgram", 
       "suggested": { 
        "$cond": { 
         "if": { 
          "$eq": [ 
           "$isSuggestedProgram", "true" 
          ] 
         }, 
         "then": "Suggested", 
         "else": "Custom" 
        } 
       } 
      } 
     } 
    ] 
} 
+0

因为你提供的“字符串”为“”真“”而不是布尔型“真”。既然它实际上是一个布尔值,那么你也可以用'“if”:“$ isSuggestedProgram”'写成'true/false'值来确定分支。 –

回答

1

您将您的布尔值过滤。你打算这么做的可能是:

"$isSuggestedProgram", true 
+0

呵呵常见。更正错字不是答案。我们有一个密切的理由。 –

+0

啊,当然可以。谢谢! – zorro2b

+0

我不介意它是关闭还是删除。但我认为回答比评论更透明。干杯。 –