node.js - sails 水线多个模型更新

标签 node.js sails.js waterline

我正在用几天时间在 sails (0.10.0-rc5) 上构建一个项目,在某些情况下,我需要使用相同的数据一次更新多个条目,所以我做了一些事情......

Servers.find({owner_id: anonymous_user.id}).exec(function(error, servers) {

  catches.error(error);
  queries.save_each(servers, {owner_id: user.id});

});

有趣的部分是我创建的 requests.save_each() ...

/**
 * Save each ActiveRecord objects with the desired attributes
 * @param  {object} objects ActiveRecord object (e.g. servers, users)
 * @param  {object} updates datas to update
 * @return {void}
 */
save_each  = function(objects, updates) {

// For each object we will update the wanted datas
for (var n in objects) {

    objects[n] = variables.inject(objects[n], updates);
    objects[n].save(function(error) { 

        catches.error(error);

     });

}

}

基本上,它会检查每个条目并使用 save() 从新数据中更新它。它工作得很好,但我想知道水线中是否还没有做任何事情来做到这一点;我没有找到任何东西,但我是航海新手,也许我错过了一些东西!

有什么想法吗?

最佳答案

对于记录,要更新 Sails 中的记录,请使用 update 方法:

Model.update(criteria, data).exec(callback);

例如:

Servers.update({owner_id: anonymous_user.id}, {owner_id: user.id})
       .exec(function(err, updatedServers) {
                 // do something
             });

更新的文档位于 here .

关于node.js - sails 水线多个模型更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23312002/

相关文章:

node.js - 如何通过 webapp 将 1 TB 文件上传到 Amazon S3?

node.js - 禁用蓝图路线 sails js

javascript - 在 Sails.js 中使用 Waterline ORM 时出现 ER_BAD_FIELD_ERROR

node.js - Node 模块未使用足够的 CPU 资源

unit-testing - SailsJS : How to properly unit test controllers?

mysql - sails/水线 : Return model relation

node.js - Sails.js 时间作为模型的属性

node.js - MongoDB 查询两个集合以添加/减去第一个集合中的字段与第二个集合中的匹配字段

node.js - 如何获取 Strongloop 集群内的工作进程/进程 ID 列表?

node.js - 如何根据其他字段添加条件模式?