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

Целостта на данните на MongoDB

Съмнявам се, че има нещо, което може да гарантира целостта на данните с изключение на споменатия 2-фазов ангажимент. Поне докато обявят v4 .

Има няколко неща, които да сведат до минимум шансовете за грешни преброявания. Комбинирайте вмъкване и актуализиране в един насипно . Това ще намали шансовете една от операциите да се провали от страна на приложението, тъй като това е една заявка.

След това проверете дали nInserted === 1 и nModified === 1 . В противен случай опитайте отново или поставете в опашка задача за повторно изчисление за дадения идентификатор на публикация.

За повторни опити е важно да имате повторни записи активиран, тъй като ще използвате $inc на постове, което е доста далеч от идемпотентна работа.

Друг вариант е да приложите без транзакции подход - нещо като комбинация от "Изпълняване на скрипт на всеки период от време, за да се актуализира commentsNumber" и "Изобщо да не се съхранява commentsNumber". Ще трябва да запазите времеви отпечатъци на последното задание за повторно изчисление и да преброите новите коментари от датата насам.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Грешка:необходими са данни и солни аргументи

  2. Android Studio:свързване към MongoDB сървър с Mongo Java драйвер

  3. Как да се присъединя към заявка в mongodb?

  4. MongoDB:Как да използвате една схема като поддокумент за различни колекции, дефинирани в различни файлове

  5. AttributeError:обектът „кортеж“ няма атрибут „вмъкване“