mysql - Sequelize - 插入长记录的最佳方式

标签 mysql angular sequelize.js

我有一个包含 20 个元素的表格。

有没有办法避免这种语法:

Sequelize.create({
  elem1: req.body.eleme1,
  elem2: req.body.eleme2,
  elem3: req.body.eleme3,
  elem4: req.body.eleme4,
  elem5: req.body.eleme5,
  ..... 
  elem20: req.body.eleme20,
});

并执行以下操作:
Sequelize.create({
  req.body
});

谢谢 :)

最佳答案

我认为没有最好的方法来做同样的事情。我可以给您的一个建议是,如果列不相关,请将您的表分成多个表;使用规范化

然后您可以创建关联或使用事务。
如果不是这种情况并且您仍然希望一次插入 20 条记录。
更好的方法是清理您的数据并单独创建一个包装器,然后尝试插入。

遍历您的 req.body并将它们推到包装器上,如下所示。

 const data = {}
    Object.keys(req.body).forEach(function(key, index) {
        data[key] = req.body[key]
    //you can perform any other operation on a particular property here
    })
Sequelize.create(data);

关于mysql - Sequelize - 插入长记录的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59767360/

相关文章:

angular - Ionic2/Cordova typescript 项目中的 Moment.js 插件

javascript - 如何在 Angular 中调用用 => 定义的函数?

Angular2 - 测试调用内部http服务的函数

javascript - 无法使用 Sequelize 更新(或保存)现有行

javascript - 使用sequelize 获取字段中具有唯一值的所有行

mysql - 内部连接与联合所有

PHP Delete 无法正常工作

mysql - 在 mysql 中做一些计算,使用 GROUP BY 时数字关闭

javascript - 如何定义具有多个属性的 sequalize 表字段

sql - MySQL Select 语句 - 两个表,根据其他表的计数对一个表进行排序