0

我在 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
}); 
}); 
4

1 回答 1

0

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

于 2015-01-15T04:03:36.323 回答