Sails.js查找不适用于或并一起选择

时间:2019-05-31 16:30:06

标签: sails.js

我编写了一个简单的代码,该代码应该可以找到几个有效的用户:

  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()... 

使用selectwhere一起使用,但不适用于or。我收到此错误:

Unhandled rejection TypeError: Cannot read property 'req' of undefined

2 个答案:

答案 0 :(得分:0)

正如迈克尔所说,我将where链接起来,因此现在可以使用了:

Users.find({
      select: ['uid','username','fbProfile','profilePic','phone']
    }).where({
      or: [{country: req.param('country'), join: true},{isAdmin: true}]
    })

答案 1 :(得分:0)

在SQL中,ORWHERE子句的运算符,因此应嵌套在其中。您可以按照其他答案中的说明来处理该子句,但是您也应该重组对象以这样调用它:

let localAdmins = await Users.find({
  select: 'uid',
  where: {
    or: [
      {country: req.param('country'), join: true},
      {isAdmin: true}
    ]
  }
});