Sequelize.op が定義されていません 質問する

Sequelize.op が定義されていません 質問する

私は Node.js で sequelize を使用しています。Sequelize.op リクエストを使用しようとしていますが、うまくいきません。これが私のコードです:

var Sequelize = require('sequelize');
const Op = Sequelize.Op;
const operatorsAliases = {
$eq: Op.eq
}

これはノード コンソールのエラーです:

ここに画像の説明を入力してください

何か考えはありますか?

ありがとう

ベストアンサー1

現時点での最終バージョン:

4.22.2

モデル/user.js:

const Sequelize = require('sequelize');
const op = Sequelize.Op;
const operatorsAliases = {
    $eq: op.eq,
    $or: op.or,
}

module.exports = function(sequelize) {

    var User = sequelize.define('user', {
        id: { type: Sequelize.INTEGER, primaryKey: true, autoIncrement: true },
        email: { type: Sequelize.STRING },
        username: { type: Sequelize.STRING(120) },
        ...
    });

    User.beforeCreate((user, options) => {
        var where = {
            type: 1,
            deleted: null, 
            // With aliases
            $or: [{email: {$eq: user.email} }, { username: {$eq: user.username}}]
            // Without aliases: Last version
            //[op.or]: [ { email: user.email }, { username: user.username } ]
        };

        return User.findOne({ where: where })
            .then(userFound => {
                ...  
            })
            .catch(err => {
                ...
            });
    });
    ...
    return User;
};

おすすめ記事