MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mise à jour du tableau d'objets dans mongodb

J'ai réussi à résoudre ce problème en mappant sur mon objet et en exécutant 2 mises à jour distinctes. Le premier supprime l'ancien élément et le second ajoute la version mise à jour. Je suis sûr qu'il existe une meilleure façon de procéder, mais cela semble fonctionner.

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