Ho appena riscontrato un problema simile nel mio codice. Per il mio, avevo a che fare con un oggetto all'interno del mio documento utente. Ho dovuto eseguire un user.markModified('object')
prima di user.save()
per garantire che le modifiche siano state salvate nel database. La mia teoria in esecuzione è che Mongoose non stesse tracciando gli elementi non impostati o rimossi automaticamente dal database