首页 > 解决方案 > 当我使用 Op.and 和 Op.ne 时,Sequelize 不起作用

问题描述

我使用 Sequelize 来查询我的数据库。我在查询中使用 Op.and 和 Op.ne :

const Op = require('sequelize');
let subLevels = await SubAchievement.findAll({
    where: {
        [Op.and]: [
            { upLevel: level.id, },
            {
                level: {
                    [Op.ne]: 2
                }
            }
        ]
    }
});

当我运行我的程序时。我收到此错误:

(node:72806) UnhandledPromiseRejectionWarning: Error: Invalid value { upLevel: 1 }

Op.ne而我在 中找不到Op,但Op.and可以找到。

为什么?

标签: node.jssequelize.js

解决方案


const Op = require('sequelize');
let subLevels = await SubAchievement.findAll({
    where: {
        [Op.and]: [
            { upLevel: { [Op.eq]: level.id, } }, // [Op.eq] is added
            { level: { [Op.ne]: 2 } }
        ]
    }
});

推荐阅读