У меня есть 4 коллекции:
пользователи
users: { id: '123123123', name: 'MrMins' }
совпадения
{ id: 1, team1: 23, team2: 24, date: '6/14', matchday: 1, locked: false, score1: null, score2: null }
{ id: 2, team1: 9, team2: 32, date: '6/15', matchday: 1, locked: false, score1: null, score2: null }
страны
{id: 23, country: "Russia", pais: "Rusia", group: 'A' }
{id: 24, country: "Saudi Arabia", pais: "Arabia Saudita", group: 'A' }
{id: 9, country: "Egypt", pais: "Egipto", group: 'A' }
{id: 32, country: "Uruguay", pais: "Uruguay", group: 'A' }
прогноз
{ matchid: 1, score1: 3, score2: 4, userid: '123123123' }
{ matchid: 2, score1: 3, score2: 0, userid: '123123123' }
Мой запрос:
db.collection('matches').aggregate([
{
$lookup: {
from: 'countries',
localField: 'team1',
foreignField: 'id',
as: 'team1'
}
},{
$lookup: {
from: 'countries',
localField: 'team2',
foreignField: 'id',
as: 'team2'
}
}
]).toArray(function(err, res) {
callback(err, res);
});
Только сейчас у меня есть соотношение между matches
и countries
(два раза).Как добавить дополнительный фильтр к forecast
, связав его с matchid
и userid
?