sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose.js-transaktioner

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å.



  1. Fel vid inställning av sammansatt index

  2. Kryptera MongoDB Data-at-Rest

  3. Undvik dubbla poster på Mongoose array

  4. int till flytande konvertering i Mongo hitta