MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Aggiornamento della matrice di oggetti in mongodb

Sono riuscito a risolvere questo problema mappando il mio oggetto ed eseguendo 2 aggiornamenti separati. Il primo rimuove il vecchio elemento e il secondo aggiunge la versione aggiornata. Sono sicuro che esiste un modo migliore per farlo, tuttavia, sembra funzionare.

handleFormSubmit(event) {
  event.preventDefault();
  const { careerHistoryPositions } = this.state;

  ProfileCandidate.update({_id: this.state.profileCandidateCollectionId}, { $unset: {
    'careerHistoryPositions': {}
  }
})        


const updatePosition = this.state.careerHistoryPositions.map((position) => {
  ProfileCandidate.update({_id: this.state.profileCandidateCollectionId}, { $push: {
    'careerHistoryPositions': {
      company: position.company,
      title: position.title,
      uniqueId: position.uniqueId
    }
  }
})