sql >> Base de Datos >  >> NoSQL >> MongoDB

Actualización de matriz de objetos en mongodb

Logré solucionar esto mapeando mi objeto y ejecutando 2 actualizaciones separadas. El primero elimina el elemento antiguo y el segundo agrega la versión actualizada. Estoy seguro de que hay una mejor manera de hacer esto, sin embargo, esto parece funcionar.

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