//ランキング配列を取得する function (async_cb) { SM.WholeRanking.find( {}, //query {}, //columns { sort: {ORDER: 1}, limit: 50 }, //options function (err, whole_rankings) { if (err) { throw err; } console.log("whole_ranking"); console.log(whole_rankings); if (!_.isEmpty(whole_rankings)) { async.map(whole_rankings, function (rank, cb) { //対戦相手の情報を取得する SM.UserModel.findOne({_id: rank.UID}, function (err, found_user) { if (err) { throw err; } if (found_user) { var return_rank = rank.toObject(); return_rank.RANK_USER = found_user; cb(null, return_rank); } }); }, function (err, results) { if (err) { throw err; } return_result.RANKINGS = results; async_cb(null, null); }); } else { async_cb(null, []); } } ) },
//自分の順位を取得する function (async_cb) { SM.WholeRanking.findOne( {UID: uid}, //query 'ORDER',//column {},//options function (err, my_rank_order) { if (err) { throw err; } if (my_rank_order) { console.log(my_rank_order); return_result.MY_ORDER = my_rank_order.ORDER; async_cb(null, null); } else { return_result.MY_ORDER = -1; async_cb(null, null); } } ) }