使用 Sequelize 的后端问题发布值到 MySQL

Backend issue posting values with Sequelize to MySQL

我已将 Sequelize 连接到 MySQL,应用程序成功地在 Postman 和浏览器中显示了我的数据库中的数据。这是我直接从终端插入数据库的初始数据。

现在,我想通过 Sequelize 将新对象保存到我的数据库中,但它只向数据库发送“空”值,就好像它没有从我的请求中收到任何值一样。

但是,当我 post 来自 Postman 的对象(用户)时,我的状态确实是成功的,并且我的请求正文具有正确类型的值。

还在我的 server.js 文件中添加了 db.sequelize.sync()

知道我可能错过了什么吗?

这是我在 users.js 控制器文件中的代码:

    const db = require('../models');
    const User = db.users;
    User.sync();

    exports.createUser = (req, res) => {

    const userWithPic = new User({
        ...req.body,
        picture: `${req.protocol}://${req.get('host')}/images/${req.file.filename}`,
    });

    User.create(userWithPic)
        .then((data) => res.send(data))
        .catch((err) => res.status(500).send(err);
        });
    };

还注意到命令 npx sequelize-cli model:generate --name User --attributes firstName:string,lastName:string,email:string 确实创建了一个模型,但它没有在迁移文件夹中创建迁移。我怀疑它是否相关,但它应该相关。

谢谢!

我真的解决了这个问题。只需要删除 new User,因为 Sequelize 不会将此语法与 create 方法一起使用。