sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB-transaktioner, der spænder over flere webanmodninger

Den nemmere løsning er at gemme (buffere) operationerne i din applikation og sende dem alle sammen til MongoDB, når commit-slutpunktet kører.

Teknisk kan du manuelt administrere transaktionslivscyklus i din applikation og implementere transaktioner, der spænder over webanmodninger, men dette vil 1) være ret akavet, og 2) du kommer til at miste de forskellige transiente fejlhåndteringer, som driveren udfører for dig i withTransaction API.

For at gøre dette:

  • Bliv fortrolig med sessionsspecifikation
  • Gør dig bekendt med transaktionsspecifikation
  • Læs praktisk tx api spec så du ved, hvad du ikke vil være at få gratis, hvis din kunde spørger, hvorfor du afslører fejl, som drivere ikke gør
  • Gennemgå koden i din driver, der implementerer disse specifikationer
  • Implementer nok sessions- og transaktionsstyring til dine krav i din applikation

Det kan være nemmere at forgrene og lappe driveren, men dette har åbenbart andre problemer som følge af, at din kodebase afviger fra den officielle driverkodebase.




  1. MongoDB $objectToArray

  2. rmongodb:bruger $or i forespørgsel

  3. Forårsdata mongodb lukker ikke mongodb-forbindelser

  4. Tips til at køre MongoDB i produktion ved hjælp af Change Streams