A maneira mais simples é usar locks (two-phase commit), embora isso não seja muito eficiente em alguns casos. Para maior simultaneidade, algum tipo de MVCC pode ser implementado no topo do Mongo. Este artigo fornece uma boa descrição:
http://highlyscalable.wordpress.com/2012/ 01/07/mvcc-transactions-key-value/