Я работаю над проектом футбольных ставок, где у команд есть свои матчи, которые они сыграли. history
. Каждый матч является частью этапа соревнования. Это означает, что у соревнований есть этапы, на которых есть матчи
У меня есть следующие модели
const MatchSchema = new mongoose.Schema({
local: { type: mongoose.Schema.Types.ObjectId, ref: 'Team' },
guest: { type: mongoose.Schema.Types.ObjectId, ref: 'Team' },
localScore: { type: Number, default: -1 },
guestScore: { type: Number, default: -1 },
date: { type: mongoose.Schema.Types.Date },
});
const StepSchema = new mongoose.Schema({
matchs: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Match', default: [] }],
name: String,
});
const CompetitionSchema = new mongoose.Schema({
steps: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Step', default: [] }],
start: { type: mongoose.Schema.Types.Date },
name: String,
});
const TeamSchema = new mongoose.Schema({
name: String,
logo: String,
history: [{ type: mongoose.Schema.Types.ObjectId, ref: 'Match', default: [] }],
});
Я работаю над рейтинговой таблицей лидеров и хочу выбирать команды, которые играли в определенных соревнованиях. Я хочу получить все команды, у которых есть матч, сыгранный в определенном соревновании, отфильтровав их.
Я проверил метод агрегирования, но не знаю, как сказать Монго, что он должен заполнить поле, чтобы сработал прогноз, и как связать эти совпадения с идентификатором соревнования.
Надеюсь, я дал понять