updateMany() is a wrapper on top of bulkWrite(), so the performance is the same.
I was trying to find the docs somewhere but I couldn’t. I remember that you perform a batch execute with bulkWrite? Something similar to the post written here. Am I able to the same for updateMany operations?
Regarding the concurrency, I wasn’t making myself clear. I meant that another operation trigger an update to collection-f doc on a different field
// profile.name gets updated
// change-stream detected change, running the update across collections (a-z)
// another operation trigger an update to collection-f doc on a different field
colF.update(id, { anotherField: 'not profile.name' });
// change-stream update the docs with the updated profile.name but overwrites the previous update (above)
// this change-stream update ops updates the `profile.name` but overwrites `anotherField` to its previous state
If I’m using patch to patch specific field, then this should not matter but would be a problem if use update operation?