Я работаю над системой обмена сообщениями, используя node.js + колыбель и CouchDB.
Когда пользователь получает список своих сообщений, мне нужно получить онлайн-статус пользователя, отправившего ему сообщение. Онлайн-статус хранится в пользовательском документе для каждого зарегистрированного пользователя, а информация о сообщении хранится в отдельном документе.
Это единственный способ сделать то, что мне нужно, но он крайне неэффективен
ключ privatemessages/all = имя пользователя получателя сообщения
db.view('privatemessages/all', {"key":username}, function (err, res) {
res.forEach(function (rowA) {
db.view('users/all', {"key":rowA.username}, function (err, res) {
res.forEach(function (row) {
result.push({onlinestatus:row.onlinestatus, messagedata: rowA});
});
});
});
response.end(JSON.stringify(result));
});
Может ли кто-нибудь сказать мне правильный способ сделать это?
Спасибо