У меня есть следующая структура и я пытаюсь удалить объект в участниках (league.division.participants).Доступ к объекту в массиве массивов с использованием mongoose
var participantSchema = new mongoose.Schema({
player: { type: mongoose.Schema.Types.ObjectId, ref: 'Player' },
record: { type: mongoose.Schema.Types.ObjectId, ref: 'ParticipantRecord' },
events: [ { type: mongoose.Schema.Types.ObjectId, ref: 'Event' } ]
});
var divisionSchema = new mongoose.Schema({
name: String,
participants: [ participantSchema ]
});
var leagueSchema = new mongoose.Schema({
name: String,
startDate: { type: Date, default: Date.now },
endDate: Date,
locked: Boolean,
leagueType: { type: mongoose.Schema.Types.ObjectId, ref: 'LeagueType' },
game: { type: mongoose.Schema.Types.ObjectId, ref: 'Game' },
divisions: [ divisionSchema ],
});
mongoose.model('League', leagueSchema);
var _RemoveDivisionParticipant = function(participantId)
{
return new Promise((resolve,reject) =>{
Models.League.findOne({'divisions.participants._id':participantId})
.populate('divisions')
.populate('divisions.participants')
.exec((err, league) => {
if (err) {return reject(err)}
league.divisions(XXXXX).participants(participantId).remove();
console.log(league.divisions[0].participants[0])
})
})
}
Это то, что я до сих пор, но, очевидно, он возвращает объект лиги, и я не имею возможности попасть к участникам, так как я не знаю, какое подразделение участник в (показано ХХХХХ в образец). Любые указания относительно того, что я должен делать?
http://stackoverflow.com/questions/30714938/lodash-property-search-in-array-and-in- nested-child-arrays Возможно, это может помочь –
Прочтите ответы в этом связанном сообщении - http://stackoverflow.com/questions/14763721/mongoose-delete-array-element-in-document-and-save – SylonZero