Hoewel het zou lijken op een .save() is hier de juiste aanpak, een .update() commando zou de klus klaren terwijl "race-omstandigheden" worden genegeerd die deze fout veroorzaken. Mongo DB geeft deze fout omdat het bezorgd is dat ik een oudere versie van het document opsla die al is bijgewerkt:
- v1 is verzonden naar klant
- v1 is opgeslagen en geüpdatet naar v2 in Mongo DB
- v1 probeert opnieuw te worden opgeslagen, maar Mongo DB heeft v2 al opgeslagen, er wordt een fout gegenereerd
Een betere benadering is om v1 naar de client te sturen en wanneer het winkelwagenobject verandert, synchroniseert u het object met het nieuwe winkelwagenobject, wat er ook gebeurt. Dit kan via .update() in plaats van via .save() .
Dit komt omdat .save() let op en geeft om versiebeheer, terwijl .update() zal het object bijwerken ongeacht versiebeheer.