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