我正在用几天时间在 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/