如何在MongoDB聚合中使用$ cond

时间:2017-07-04 05:57:50

标签: mongodb

我试图在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"
                    }
                }
            }
        }
    ]
}

1 个答案:

答案 0 :(得分:1)

您将布尔值字符串化。您的意图可能是:

"$isSuggestedProgram", true