Несколько notLike не будет работать

Я получил следующий фрагмент запроса 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. Есть идеи, что не так?
Тнх
международное НПО

2 ответа

  1. Когда использовать тот же ключ в массиве только взять один из то, попробуйте заменить, как это:

    article
    .findAndCountAll({
      where: {
        NAME: {
          $like: '%'+req.body.search+'%'
        },
        ITEM_NUMBER: {
               $notLike: { $any: ['MF%','OLS%','MV%','MD%','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);
    });
    

    Оператор where http://docs.sequelizejs.com/en/latest/docs/querying/?highlight= $notLike