Я получил следующий фрагмент запроса sequelize, где я хотел бы сделать несколько notlike запрос:
article
.findAndCountAll({
where: {
NAME: {
$like: '%'+req.body.search+'%'
},
ITEM_NUMBER: {
$notLike: 'MF%',
$notLike: 'OLS%',
$notLike: 'MV%',
$notLike: 'MD%',
$notLike: 'AE%'
},
PRICE: {
$gt: 0
},
BLOCKED_FROM: {
$or: {
$gt: new Date(),
$eq: null
}
}
},
limit: 20
})
.then(function(result) {
res.json(result.rows);
//res.json(result.count);
console.log(result.count);
console.log(result.rows);
});
Проблема в том, что где часть для ITEM_NUMBER только швы, чтобы взять последнюю строку notLike ($notLike: ‘AE%’) в запросе. Вывод результирующего запроса показывает:
ВЫБЕРИТЕ TOP 20 [NAME], [ITEM_NUMBER], [PRICE], [BLOCKED_FROM] ИЗ [ARTIKEL] В КАЧЕСТВЕ [ARTIKEL], ГДЕ [ARTIKEL].[NAME] как N’%testname%’ и [ARTIKEL].[ITEM_NUMBER] НЕ НРАВИТСЯ N’AE%’ И [ARTIKEL].[PRICE] > 0 И ([ARTIKEL].[BLOCKED_FROM] > N’2016-12-28 17:05:58.750′ ИЛИ [ARTIKEL].[BLOCKED_FROM] РАВНО NULL);
Запрос должен содержать все параметры %notLike. Есть идеи, что не так?
Тнх
международное НПО
Когда использовать тот же ключ в массиве только взять один из то, попробуйте заменить, как это:
Оператор where http://docs.sequelizejs.com/en/latest/docs/querying/?highlight= $notLike
Попробовать его: