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

Как да четете/пишете документ в паралелно изпълнение с mongoDB/mongoose

да, имате нужда от по-добро заключване на houseModel, за да посочите, че се извършва добавяне на елемент.

Проблемът е, че множество заявки могат да извикат findById и да видят същата къща.items.length, след което всяка определя въз основа на тази (остаряла) моментна снимка, че е добре да добавите още един елемент. Границата на възлите на атомарността е обратното извикване; между асинхронно повикване и неговото обратно извикване могат да се изпълняват други заявки.

Една лесна поправка е да се проследи не само броят на артикулите в къщата, но и броят на планираните допълнителни артикули. При влизане в addItem, увеличете броя "искам да добавя още" и тествайте това.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Заявка MongoDB за множество ObjectIDs в Array

  2. DBRefs (препратки към Mongo Document) не се извличат с нетърпение

  3. Връща само стойност на масив в проекция на mongo

  4. Mongoose намери елемент в масива

  5. Как да актуализирате масив от поддокументи в MongoDB колекция в MeteorJS