2017-07-04 105 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

我不介意它是關閉還是刪除。但我認爲回答比評論更透明。乾杯。 –