使用sequelize和nodejs更新多个记录?

时间:2014-06-28 22:36:12

标签: mysql node.js postgresql express sequelize.js

使用node.js(v0.10.12)和sequelize(2.0.0-dev9),我想更新现有数据库表中的属性。来自花药SO discussion我一次只能更新一条记录。我在for循环中封装了调用,但是在for循环中更新了相同的记录。

有人可以帮我修改此代码以更新符合搜索要求的所有记录吗?以下是我的代码:

global.db.Task.find({ where: {"Cd": "match"} && {"Desc": null}
                                      }).on('success', function(task) {                                 
                                          if (task) { // if the record exists in the db                                                               
                                              task.updateAttributes({
                                                  Desc: "New Upate"
                                              }).success(function() {});
                                              }
                                      })

1 个答案:

答案 0 :(得分:5)

根据docs你需要做一个BulkCreate :(未经测试)

global.db.Task.update(
    {Desc: 'New Upate'},       //set attribute 
    {cd: 'match', Desc: null}  //where criteria 
  ).success(function(affectedRows) { ... });