In my code there are 5 processes that in parallel run 5 update_one on my mongo instance (no replicas). Every update_one changes a different field on the same document. The matched_count variable is 1 for each of them, so the operation is correctly acknowledged as I am using transactions and write concern set to majority. Yet when I read the document some of the fields are not updated. I am expecting no overwrite because there is no overlapping update on the same fields. Why is it happening? Continue reading...