repsert -> upsert
better findAndModify error handling