2015-06-11 3 views
1

Я разрабатываю приложение sails.js, используя значение по умолчанию waterline.Sails.js: Waterline ИЛИ фильтр не работает

У меня есть ряд категорий и мест, как показано ниже.

var categoryOrFilter = [1,2,3]; 
var locationsOrFilter = [8,9,10]; 

Я пытаюсь написать where на моем model, который фильтрует элементы модели, принадлежащие, по меньшей мере, одного из categories в categoryOrFilterИ по крайней мере, один из locations в locationsOrFilter.

Моя модель показана ниже.

Я написал свой запрос, как показано ниже.

Model.find() 
     .where({ 
      or: [{ 
       "category": categoryOrFilter 
      }] 
     }) 
     .where({ 
      or: [{ 
       "location": locationsOrFilter 
      }] 
     }) 
     .exec(function (err, modelItem) { 
      //Some logic 
     }); 

Параметры моей категорииOrFilter не учитываются. Мои значения locationOrFilter работают идеально.

Что я делаю неправильно?

ответ

2

2-й, где и «или» не нужен оператор по умолчанию между критериями частей и и для элементов массива в одной части критериев это IN

Model.find() 
    .where({ 
      "category": categoryOrFilter, 
      "location": locationsOrFilter 
    }) 
    .exec(function (err, modelItem) { 
     // Some logic 
    }); 
+0

Отлично! Это был спаситель жизни. –

Смежные вопросы