в nodejs, как остановить цикл FOR, пока не вернется вызов mongodb

Пожалуйста, посмотрите на фрагмент кода ниже. У меня есть массив JSON-объектов, который называется «aO; stuObjList». Я хочу пройти через массив, чтобы найти конкретные объекты JSON с определенным установленным флагом, а затем сделать вызов db, чтобы получить больше данных.

Конечно, цикл FOR не ожидает возврата вызова db и достигает конца с длиной j ==. И когда возвращается вызов db, индекс 'j' находится за пределами индекса массива. Я понимаю, как работает node.js, и это ожидаемое поведение.

Мой вопрос, что за работа здесь. Как я могу достичь того, чего пытаюсь достичь? Спасибо, --su

...............
...............
...............
else
{
  console.log("stuObjList.length: " + stuObjList.length);
  var j = 0;
  for(j = 0; j < stuObjList.length; j++)
  {
    if(stuObjList[j]['honor_student'] != null)
    {     
      db.collection("students").findOne({'_id' : stuObjList[j]['_id'];}, function(err, origStuObj)
      {
        var marker = stuObjList[j]['_id'];
        var major = stuObjList[j]['major'];
      });
    }

    if(j == stuObjList.length)
    {
      process.nextTick(function()
      {
        callback(stuObjList);
      });
    }
  }
}
});

Ответы на вопрос(4)

Ваш ответ на вопрос