Добрый день!
Часто сталкиваюсь с такой проблемой: нужно найти все документы по ObjectId, которые содержатся в каком-либо массиве, но отправка ответа
response происходит раньше, чем стартует цикл.
node.js, express
var list = [];
for (var i = 0; i < result.items.length; i++) {
Mongo.Items.findOne({'_id': ObjectId(result.items[i])}, function(err3, result3) {
if (err3) return console.log(err3), response.sendStatus(500);
if (result3) list.push(result3)
});
}
return response.send(list); // интерпретатор сразу отправляет результат (пустой массив list), обходя цикл for
result.items - Результат предыдущего поиска по бд, массив ObjectId
Буду благодарен за любую помощь!