Я работаю над своим первым приложением node.js / express / mongoose, и у меня возникла проблема из-за механизма асинхронизации из node.js. Кажется, я делаю это неправильно ...
Вот тестовый маршрут, который я определил с помощью express:
app.get('/test', function(req, res){
var mod = mongoose.model('MyModel');
mod.find({},function(err, records){
records.forEach(function(record){
console.log('Record found:' + record.id);
// res.send('Thing retrieved:' + record.id);
});
});
});
Когда я выдаю http: // localhost / test , я хочу получить список записей типа MyModel в ответе.
Приведенный выше код работает нормально, но когда дело доходит до возврата всего этого списка клиенту ... он не работает (закомментированная строка res.send) и возвращает только первую запись.
Я новичок в node.js, поэтому не знаю, стоит ли встраивать несколько функций обратного вызова в первую функцию обратного вызова app.get. Как мне вернуть весь список?
Есть идеи?