如何使用嵌套的AND& amp;设计一个有效的mongo查询要么

时间:2013-11-05 20:16:21

标签: mongodb mongoose

在mongodb中创建包含OR和AND条件的查询的正确方法是什么? 这是我尝试过没有成功的例子。 在代码示例中按行注释。

示例:

    {
    "$or": [
        {
            "$and": [
                {
                    "type": {
                        "$in": ["image/png", "image/jpg", "image/jpeg", "image/gif"]
                    }
                }, {
                    // Why this condition produces a MongoError
                    "$or": {
                        "_account": "526fcb177675f27140000001",
                        "shared": true
                    }
                }
            ]
        }, {
            "$and": [
                {
                    "type": {
                        "$in": ["video/mov"]
                    }
                }, {

                    "_account": "526fcb177675f27140000001"
                }
            ]
        }
    ]
}

1 个答案:

答案 0 :(得分:1)

// Why this condition produces a MongoError
"$or": {
         "_account": "526fcb177675f27140000001",
         "shared": true
}

因为$or将数组作为参数:

"$or": [
         { "_account": "526fcb177675f27140000001" },
         { "shared": true }
]