CouchDB中记录的批量更新

时间:2015-01-15 03:42:05

标签: node.js couchdb cradle

我在CouchDB中有一个拥有超过10万条记录的员工数据库。我需要更新所有这些工资字段。我正在使用nodejs和cradle,下面的代码是否是正确的方法?如果这不是一个好的做法,还有其他选择吗?

var newsalary;
db.view('myviews/employees', function (err, res) {
res.forEach(function (row) {
    newsalary=row.salary+5;
    db.merge(row._id, {salary: newsalary},function (err, res) {}); // update self here
}); 
}); 

1 个答案:

答案 0 :(得分:0)

您是否尝试过一次保存多行?我没有使用摇篮,但似乎它支持db.save与数组输入。因此,您可以尝试批量保存(例如一次100/1000条记录)。否则,从当前实现开始,它将每次为每条记录与db进行交互,这在时间和数据库负载方面都是不好的。