Как решить проблему (NodeJS, Mongodb)?

Добрый день!
Часто сталкиваюсь с такой проблемой: нужно найти все документы по 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

Буду благодарен за любую помощь!
  • Вопрос задан
  • 100 просмотров
Решения вопроса 1
cr1gger
@cr1gger
Тупые вопросы порождают тупые ответы (с)
async/await
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы