2013-03-04 4 views
0

У меня есть команда с переменными hometeam и awayteam, у меня есть код ниже на данный момент, чтобы показать имя hometeam для каждого матча, как бы я это изменил, чтобы я показывал как hometeam и awayteam для каждого матча, так что это будет выглядеть примерно так:Mongoose .populate с 2 условиями

[ 
    "Team 1", "Team 2", 
    "Team 3", "Team 4" 
] 

Где Team 1/2 находятся в одном матче и команды 3/4 в другом матче, например.

app.get('/homeTeamNames', function(req, res) { 
    util.log('Serving request for url [GET] ' + req.route.path); 
    Match.find({}, {'hometeam': 1}).populate('hometeam', {name: 1}).exec(function(err, teams) { 
     var homeNames = []; 
     for(var i = 0; i < teams.length; i++) { 
     homeNames.push(teams[i].hometeam.name); 
     } 
     res.send(homeNames); 
    }); 
    }); 

ответ

2

Вы можете объединять несколько populate вызовы вместе, как это:

Match.find({}, {hometeam: 1, awayteam: 1}) 
    .populate('hometeam', {name: 1}) 
    .populate('awayteam', {name: 1}) 
    .exec(function(err, teams) { ... 
Смежные вопросы