【问题标题】:Backend issue posting values with Sequelize to MySQL使用 Sequelize 将值发布到 MySQL 的后端问题
【发布时间】:2020-10-08 14:03:21
【问题描述】:

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

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

但是,当我从 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 确实创建了一个模型,但它没有在迁移文件夹中创建迁移。我怀疑它应该是相关的。

谢谢!

【问题讨论】:

    标签: javascript mysql sequelize.js sequelize-cli


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-31
      • 2016-06-14
      • 2017-10-20
      • 1970-01-01
      • 2016-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多