sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose VersionError:Inget matchande dokument hittades för id när dokumentet sparas

Även om det verkar vara en .save() är rätt tillvägagångssätt här, en .update() kommandot skulle få jobbet gjort samtidigt som man ignorerar "loppförhållanden" som gör att detta fel inträffar. Mongo DB skickar det här felet eftersom det är oroligt att jag sparar en äldre version av dokumentet som redan har uppdaterats:

  1. v1 skickas till klienten
  2. v1 sparas och uppdateras till v2 i Mongo DB
  3. v1 försöker sparas igen, men Mongo DB har redan v2 lagrad, ett fel uppstår

Ett bättre tillvägagångssätt är att skicka v1 till klienten och när vagnobjektet ändras, synkronisera objektet med det nya vagnobjektet oavsett vad. Detta kan göras via .update() snarare än genom .save() .

Detta beror på att .save() bevakar och bryr sig om versionskontroller, medan .update() kommer att uppdatera objektet oavsett versionskontroll.




  1. Finns det någon gräns för antalet argument som redis-kommandon som ZADD eller HMGET kan hantera?

  2. En guide till MongoDB-distribution och underhåll med Puppet:Del 1

  3. Hitta två element i en uppsättning dokument som visas i en given ordning

  4. Hur man skalar SignalR med Azure Worker Role och OWIN