Есть некий шаблон позволяющий имитировать работу транзакций. В документации к монге он описан тут
https://docs.mongodb.com/manual/tutorial/perform-t...
Метод описывает простой сценарий, но дает общее представление как это должно работать.
Правда нет решения с версионностью данных (что будет получать клиент пока идет выполнение "транзакции")