我正在使用默认吃水线开发一个帆.js应用程序。
我有一系列类别和位置,如下所示。
var categoryOrFilter = [1,2,3];
var locationsOrFilter = [8,9,10];
我正在尝试在我的model
上写一个where
,它将过滤属于categoryOrFilter
中至少一个categories
和至少一个locations
的模型项 locationsOrFilter
.
我的模型如下所示。
attributes: {
category: {
model: 'category'
},
location: {
model: 'location'
}
}
我已经编写了如下所示的查询。
Model.find()
.where({
or: [{
"category": categoryOrFilter
}]
})
.where({
or: [{
"location": locationsOrFilter
}]
})
.exec(function (err, modelItem) {
//Some logic
});
未考虑我的类别或筛选器值。我的位置或过滤器值工作完美。
我做错了什么?
不需要
第二个 where 和 'or' 标准部分之间的默认运算符是 AND,对于单个条件部分中的数组元素,它是 IN
Model.find()
.where({
"category": categoryOrFilter,
"location": locationsOrFilter
})
.exec(function (err, modelItem) {
// Some logic
});