我编写了一个简单的代码,该代码应该可以找到几个有效的用户:
Users.find({
where: {country: req.param('country'), join: true},
select: ['uid']
})
当我将where
更改为or
时,如下面的示例所示,我开始收到错误消息。
Users.find({
or: [{country: req.param('country'), join: true},{isAdmin: true}],
select: ['uid']
}).then()...
使用select
与where
一起使用,但不适用于or
。我收到此错误:
Unhandled rejection TypeError: Cannot read property 'req' of undefined
答案 0 :(得分:0)
正如迈克尔所说,我将where
链接起来,因此现在可以使用了:
Users.find({
select: ['uid','username','fbProfile','profilePic','phone']
}).where({
or: [{country: req.param('country'), join: true},{isAdmin: true}]
})
答案 1 :(得分:0)
在SQL中,OR
是WHERE
子句的运算符,因此应嵌套在其中。您可以按照其他答案中的说明来处理该子句,但是您也应该重组对象以这样调用它:
let localAdmins = await Users.find({
select: 'uid',
where: {
or: [
{country: req.param('country'), join: true},
{isAdmin: true}
]
}
});