Mens det ser ud som en .save() er den rigtige tilgang her, en .update() kommandoen ville få jobbet gjort, mens du ignorerer "raceforhold", der forårsager denne fejl. Mongo DB kaster denne fejl, fordi den er bekymret for, at jeg gemmer en ældre version af dokumentet, der allerede er blevet opdateret:
- v1 sendes til klient
- v1 er gemt og opdateret til v2 i Mongo DB
- v1 forsøger at blive gemt igen, men Mongo DB har allerede v2 gemt, fejlen opstår
En bedre tilgang er at sende v1 til klienten, og når vognobjektet ændres, synkronisere objektet med det nye vognobjekt uanset hvad. Dette kan gøres via .update() i stedet for gennem .save() .
Dette er fordi .save() ser og bekymrer sig om versionskontrol, mens .update() vil opdatere objektet uanset versionskontrol.