У меня есть схема ниже. Я пытаюсь заполнить свойство player для каждого объекта в массиве конкурентов.
let competitionSchema = new Schema({
dateCreated : { type: Date, default: Date.now },
competitionName : String,
game : { type: Schema.Types.ObjectId, ref: 'game'},
competitors : [
{
player : {type: Schema.Types.ObjectId, ref: 'user'},
isWinner : Boolean,
isEliminated : Boolean,
winAmount : Number,
risk : Number,
}
],
});
var CompetitionODM = mongoose.model('competition', competitionSchema);
Когда я получаю соревнование из базы данных, я хочу заполнить поле "игрок" каждого конкурента в массиве конкурентов. Я пытался получить его, используя:
exports.findCompetitionByName = function (name, callback) {
CompetitionODM.findOne({competitionName: name}).populate('competitors').exec(function(err, foundCompetitions)
{
console.log(foundCompetitions)
callback(err,foundCompetitions);
});
};
но это не работает, вместо этого я получаю модель конкуренции с пустым массивом конкурентов []. Как мне добиться заполнения свойства player объектов массива конкурентов?