Jeśli naprawdę musisz mieć transakcje w wielu typach dokumentów (w osobnych kolekcjach), sposobem na osiągnięcie tego jest jedna tabela, która przechowuje działania do wykonania.
db.actions.insert(
{ actions: [{collection: 'players', _id: 'p1', update: {$set : {name : 'bob'} } },
{collection: 'stories', _id: 's1', update: {$set : {location: 'library'} } }], completed: false }, callback);
Ta wstawka jest atomowa i wszystko jest zrobione na raz. Następnie możesz wykonać polecenia z kolekcji „actions” i oznaczyć je jako kompletne lub usunąć je po ich zakończeniu, wywołując oryginalne wywołanie zwrotne, gdy wszystkie zostaną zakończone. Działa to tylko wtedy, gdy pętla przetwarzania akcji jest jedyną rzeczą, która aktualizuje bazę danych. Oczywiście będziesz musiał przestać używać mangusty, ale im szybciej to zrobisz, tym lepiej i tak będziesz.