使用 Sequelize.not 时值为 "undefined"

Where value is "undefined" when using Sequelize.not

使用简单的 sequelize 查询,当使用如下 sequelize.not 函数时,我不断收到错误消息“无效值 { indefined: 0 }”

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)

您需要使用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
    })