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

Допълнително поле към съществуваща колекция

Е, използвайки връзката, която споменахте , предпочитам да използвам подход за събиране на броячи .

Подходът за събиране на броячи има някои недостатъци, включително:

  • Винаги генерира множествена заявка (две):една за получаване на последователния номер, друга за извършване на вмъкването, използвайки идентификатора, който сте получили чрез последователността,
  • Ако използвате функции за шардинг на mongodb, документ, отговорен за съхраняването на състояние на брояч, може да се използва често и всеки път ще достига до един и същ сървър.

Въпреки това трябва да е подходящо за повечето употреби.

Подходът, който споменахте ("оптимистичният цикъл“ ) не трябва да нарушава IMO и не предполагам защо имате проблем с него. Въпреки това не бих го препоръчал. Какво се случва, ако изпълните кода на множество mongo клиенти, ако един има много забавяне, а други продължават да приемат идентификатори? Не бих искал да се сблъскам с такъв проблем... Освен това има поне две заявки за успешна операция, но няма максимален брой повторни опити преди успех...




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Управление на Mongodb връзки в Java като обектно ориентирано

  2. spring-data-mongodb дава изключение за удостоверяване на mongodb

  3. Как да актуализирате вграден документ в MongoDB с Doctrine ODM

  4. MongoDB:Агрегиране с помощта на $cond с $regex

  5. MongoDB Проекция на поддокумент