3 つの異なるコレクションからデータを収集し、それをまとめて (ここでは結合を行う必要はありません)、クライアントに送信する必要がある状況があります。
私はエレガントな解決策だと思うものを持っていますが、この操作を実行するよりクリーンな方法があるかどうかコミュニティに尋ねたいですか?
私はデータ モデリング レイヤーとしてマングースを使用しています。
async.parallel([
function(callback) {
ForecastModel.find({facebookId: req.query.playerId}, function(err, result) {
callback(err, result);
});
},
function(callback) {
ScoreModel.find({facebookId: req.query.playerId}, function(err, result) {
callback(err, result);
});
},
function(callback) {
FollowModel.findOne({facebookId: req.query.playerId}, function(err, result) {
callback(err, result);
});
}
],
function(err, results) {
var playerInfo = {};
playerInfo.forecasts = results[0];
playerInfo.score = results[1][0];
playerInfo.followModel = results[2];
res.send(playerInfo);
});