私は最初の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の最初のコールバック関数内にいくつかのコールバック関数を埋め込むことが良い解決策であるかどうかはわかりません。リスト全体を返すにはどうすればよいですか?
何か案が ?