1

我正在使用 Juggling-DB 的 MongoDB 适配器。

如何运行以下 SQL 查询的等效项(ID 是假的)

SELECT * FROM APPS
WHERE
    active = 1
    AND (
        user_id = '12345'
        OR
        id IN ('456', '789', '012')
    )

即“属于给定用户或可供所有人使用的活动应用程序”。

我尝试了以下方法:

{
    where: {
        active: true,
        or: [
            {
                user_id: '12345'
            },
            {
                _id: {
                    in: ['456', '789', '012']
                }
            }
        ]
    }
}

但它什么也不返回。查看源代码,我的猜测是它只将字符串转换为MongoDB.ObjectIDwhen_id是单个字符串,而不是数组。

4

1 回答 1

0

mongodb 查询应该是这样的:

db.apps.find({active: true, "$or": [{"user_id": "12345"}, {"_id": { $in: ['1', '2', '3']}}]})
于 2013-09-25T21:40:38.923 回答