我正在使用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.ObjectID
是单个字符串而不是数组时,它只会将字符串转换为_id
。
答案 0 :(得分:0)
mongodb查询应该是:
db.apps.find({active: true, "$or": [{"user_id": "12345"}, {"_id": { $in: ['1', '2', '3']}}]})