Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

264
Views
Accediendo al objeto en una matriz de matrices usando mangosta

Tengo la siguiente estructura y estoy tratando de eliminar un objeto en los participantes (league.division.participants).

 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]) }) }) }

Esto es lo que tengo hasta ahora, pero obviamente devuelve el objeto de la liga, y no tengo forma de llegar a los participantes ya que no sé en qué división está el participante (Mostrado por XXXXX en la muestra). ¿Alguna indicación de lo que debo hacer?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puede usar$pull para eliminar un elemento de matriz en función de una condición:

 League.update({ 'divisions.participants._id': participantId }, { $pull: { 'divisions.$.participants': { "_id": participantId } } }, { multi: true }, function(err, res) { console.log(res); });
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!