MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose VersionError:Не е намерен съответстващ документ за id, когато документът се записва

Въпреки че ще изглежда .save() е правилният подход тук, .update() командата ще свърши работата, като същевременно игнорира „състезателните условия“, които причиняват възникването на тази грешка. Mongo DB извежда тази грешка, защото се притеснява, че запазвам по-стара версия на документа, който вече е актуализиран:

  1. v1 се изпраща на клиента
  2. v1 е запазена и актуализирана до v2 в Mongo DB
  3. v1 се опитва да бъде запазен отново, но Mongo DB вече има съхранена v2, извежда се грешка

По-добър подход е да изпратите v1 на клиента и когато обектът cart се промени, да синхронизирате обекта с новия обект cart независимо от всичко. Това може да стане чрез .update() вместо чрез .save() .

Това е така, защото .save() наблюдава и се грижи за контролите на версиите, докато .update() ще актуализира обекта независимо от контрола на версиите.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Изчислете средната стойност на mongodb документ

  2. как да използвам MongoDB за съхраняване на ejabberd съобщения?

  3. Базата данни за откриване на Mongoose не е готова

  4. mongodb-org е в конфликт с mongodb-10gen-сървър

  5. Изтичане на Монго връзка с морфий