Где значение «не определено» при использовании Sequelize.не

#node.js #sequelize.js

Вопрос:

Используя простой запрос sequelize, я продолжаю получать сообщение об ошибке «Недопустимое значение { неопределенно: 0 }» при использовании функции sequelize.not, как показано ниже

 let total = await userDB.tblSMSSent.findOne({
        attributes: [[sequelize.fn('COUNT', 'id'), 'numMessages']],
        where: {
            user: userName,
            messageID: { [sequelize.not]: '0' }
        }, logging: false
    })
 

Когда я запускаю запрос без фильтра » MessageId: { [sequelize.not]: 0}», он работает нормально (хотя и с неверными результатами). Как я могу правильно использовать функцию sequelize.not здесь?

В базе данных столбец MessageId имеет значение nchar(20)

Ответ №1:

Вам нужно использовать sequelize.Op.not :

     let total = await userDB.tblSMSSent.findOne({
        attributes: [[sequelize.fn('COUNT', 'id'), 'numMessages']],
        where: {
            user: userName,
            messageID: { [sequelize.Op.not]: '0' }
        }, logging: false
    })
 

Комментарии:

1. Это сделало это после того, как я импортировал Sequelize на страницу, а не использовал свой внешний разъем. Спасибо.