Я работаю над своим первым приложением node.js / express / mongoose и столкнулся с проблемой из-за механизма асинхронизации node.js. Кажется, я делаю это неправильно ...
Вот тестовый маршрут, который я определил, используя экспресс:
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. Как мне вернуть весь список?
Есть идеи?