簡體   English   中英

Query.formatError中“ where子句”中的未知列“ users.email”

[英]Unknown column 'users.email' in 'where clause' at Query.formatError

我需要一些代碼的幫助。 這是我的注冊功能

exports.signup = (req, res) => {
// Save User to Database
console.log("Processing func -> SignUp");

User.create({
    name: req.body.name,
    username: req.body.username,
    lname: req.body.lastname,
    email: req.body.email,
    password: bcrypt.hashSync(req.body.password, 8)
}).then(user => {
    Role.findAll({
        where: {
            name: {
                [Op.or]: req.body.roles
            }
        }
    }).then(roles => {
        user.setRoles(roles).then(() => {
            res.send("User registered successfully!");
        });
    }).catch(err => {
        res.status(500).send("Error -> " + err);
    });
}).catch(err => {
    res.status(500).send("Fail! Error -> " + err);
})

}

這是我的支票用戶

checkDuplicateUserNameOrEmail = (req, res, next) => {
// -> Check Username is already in use
User.findOne({
    where: {
        username: req.body.username
    }
}).then(user => {
    if (user) {
        res.status(400).send("Fail -> Username is already taken!");
        return;
    }

    // -> Check Email is already in use
    User.findOne({
        where: {
            email: req.body.email
        }
    }).then(user => {
        if (user) {
            res.status(400).send("Fail -> Email is already in use!");
            return;
        }

        next();
    });
});

}

用戶導出

module.exports = (sequelize, Sequelize) => {
const User = sequelize.define('users', {
    name: {
        type: Sequelize.STRING
    },
    username: {
        type: Sequelize.STRING
    },
    password: {
        type: Sequelize.STRING
    }
});

return User;

}

這就是問題

未處理的拒絕SequelizeDatabaseError: Query.formatError (C:\\ Users \\ Itzik \\ Desktop \\לימודים\\ projact3 \\ server \\ node_modules \\ sequelize \\ lib \\ dialects \\ mysql \\ query.js: “ where子句”中的“ users.email”列未知 : 244:16)在Query.handler上[作為onResult](在Query.execute上(C:\\ Users \\ Itzik \\ Desktop \\לימודים\\ projact3 \\ server \\ node_modules \\ sequelize \\ lib \\ dialects \\ mysql \\ query.js:51:23) (C:\\ Users \\用戶伊茨克\\桌面\\לימודים\\ projact3 \\服務器\\ node_modules \\ mysql2 \\ lib中\\命令\\ command.js:30:14)
在PacketParser.Connection.packetParser.p處的Connection.handlePacket(C:\\ Users \\ Itzik \\ Desktop \\לימודים\\ projact3 \\ server \\ node_modules \\ mysql2 \\ lib \\ connection.js:449:32)中(如onPacket](C:\\在PacketParser.executeStart(C:\\ Users \\ Itzik \\ Desktop \\לימודים\\ projact3 \\ server \\ node_modules \\ mysql2 \\ lib \\ packet_parser.js:75:16),位於Socket.Connection.stream.on.data(C:\\ Users \\ Itzik \\ Desktop \\לימודים\\ projact3 \\ server \\ node_modules \\ mysql2 \\ lib \\ connection.js:79:25)在Socket.emit(events.js:198:13)在addChunk(_stream_visible.js:288:12)在Socket.Readable.push(_stream_visible.js:269:11)在可讀AddChunk(_stream_visible.js:269:11)在TCP.onStreamRead [讀取時](internal / stream_base_commons.js:94:17)

根據您的create查詢,請按以下方式更新您的模型,然后重試:

const User = sequelize.define('users', {
    name: {
        type: Sequelize.STRING
    },
    lname: {                        // <---- MISSING
        type: Sequelize.STRING
    },
    username: {
        type: Sequelize.STRING
    },
    email: {                        // <---- MISSING
        type: Sequelize.STRING
    }
    password: {
        type: Sequelize.STRING
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM