Strongloop同时使用(或)和(和)查询数据

时间:2016-03-07 05:05:30

标签: node.js strongloop

我需要这样做。

select * 
from person 
where (firstname like '%a' or lastname like "%a") and id NOT IN (1 , 2) 

node.js:

   BegroupdUser.find({
        limit: limit,
        skip: skip,
        where: {
            id: { nin: adminIds },
            or: [{
                firstName: {like: '%' + _query + '%'}
            }, {
                lastName: {like: '%' + _query + '%'}
            }]
        }
    }, function (errors, users) {
  });

2 个答案:

答案 0 :(得分:1)

试试这个

{
  "where": {
    "and": [
      {
        "id": {
          "nin":  adminIds
        }
      },
      {
        "or": [{
                firstName: {like: '%' + _query + '%'}}, 
                {
                lastName: {like: '%' + _query + '%'}}
              ]
      }
    ]
  }
}

答案 1 :(得分:0)

阅读本文:https://docs.strongloop.com/display/public/LB/Where+filter#Wherefilter-and/or

看起来您需要将or嵌套在and内并使用正则表达式而不是like运算符。