我正在使用带有模块摇篮的nodejs与couchdb服务器进行交互,问题是让我了解reduce过程以改进视图查询......
例如,我应该使用如下视图从他的 ID 中获取用户数据:
map: function (doc) { emit(null, doc); }
在 node.js(带底座)中:
db.view('users/getUserByID', function (err, resp) {
var found = false;
resp.forEach(function (key, row, id) {
if (id == userID) {
found = true;
userData = row;
}
});
if (found) {
//good, works
}
});
正如你所看到的,这对于大量文档(数据库中的用户)来说真的很糟糕,所以我需要使用 reduce 来改进这个视图,但我不知道如何,因为我不了解 reduce 的工作原理.. 谢谢你