Hola,
MongoDB fue concebido para no soportar transacciones, este es un tradeoff que fue tomado en cuenta para dar lugar a la escalabilidad y alta disponibilidad. Evita la latencia que se produce al realizarlas sabiendo que debería tenerse en cuenta usar constraints, locks y demás, además que eso mismo debería ser aplicado cuando la base de datos es escalada en más de un nodo.
En resumen, no hay nada que puedas hacer atómicamente mientras los datos a los que quieras afectar estén en distintas colecciones y debe ser tu modelo quien se debe ajustar para poder soportarlo.
Saludos.