In DEVs we upgraded to v3, but in prod we still have v2. Yes, I assume that concurrency situation will be much better cause both update and read time with WiredTiger is significantly better.
Despite that, I am still missing feature to do some atomic single document update with protection from updates from other cluster nodes. Would this feature compromise something or would have negative influence on db itself? Since with WiredTiger single document locking is used for updates, what leads to assumption that my expectation has good background.
--OR--
the update way you are proposing should work, but for further saga processing i still need to read document which i have just updated with findAndModify. Other processes may concurrently update the document and saga processing may be accidently continued multiple times. Yes, this can also be handled with update of extra flags using findAndModify, but it may introduce redundant complexity.
Asya got the point what i really need: "read-modify-write or something like that". Feature i miss is that document "read/lookup" and "write/save" could be done inside mongo client implementation where "modification" should be delegated to custom c# delegate method