Om du verkligen måste ha transaktioner över flera dokumenttyper (i separata samlingar) är sättet att uppnå detta med en enda tabell som lagrar åtgärder att vidta.
db.actions.insert(
{ actions: [{collection: 'players', _id: 'p1', update: {$set : {name : 'bob'} } },
{collection: 'stories', _id: 's1', update: {$set : {location: 'library'} } }], completed: false }, callback);
Denna insats är atomär och allt gjort på en gång. Du kan sedan utföra kommandona i "åtgärder"-samlingen och markera dem som kompletta eller ta bort dem när du slutför dem, ringa din ursprungliga återuppringning när de alla är slutförda. Detta fungerar bara om din handlingsbehandlingsslinga är det enda som uppdaterar db. Naturligtvis måste du sluta använda mungo, men ju tidigare du gör det desto bättre blir du ändå.