MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Tworzenie rosnących liczb za pomocą mongoDB

http://www.mongodb.org /display/DOCS/Jak+utworzyć+pole+automatyczne+przyrostowe+

Pierwszym podejściem jest przechowywanie liczników w dokumencie pobocznym:

Innym podejściem jest optymistyczna pętla i obsługa kodu błędu dup-key o wartości 11000 przez kontynuowanie i zwiększanie identyfikatora dla przypadku kolizji brzegowych. To działa dobrze, chyba że istnieje wysoka współbieżność zapisów w określonej kolekcji.

Pamiętaj jednak o ostrzeżeniu na tej stronie:

Inne rzeczy do rozważenia:

  • sygnatura czasowa - unikalny długi, ale nie narastający (bazujący na epoce)
  • Podejście hybrydowe – aplikacje niekoniecznie muszą wybierać jedną opcję przechowywania.
  • Wymyśl mechanizm id oparty na takich elementach, jak klient, data/czas itp., dla których generujesz i obsługujesz kolizje. W zależności od schematu kolizje mogą być znacznie mniej prawdopodobne. Niekoniecznie inkrementacja, ale jest unikalna i ma dobrze zdefiniowany czytelny wzór.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Czy struktura agregacji MongoDB $group może zwrócić tablicę wartości?

  2. Usuń zagnieżdżony dokument z warunkiem w MongoDB

  3. Tworzenie obiektu BSON z ciągu JSON

  4. MongoDB ::czy identyfikatory Mongo są unikalne w różnych kolekcjach?

  5. Wydajne stronicowanie w MongoDB przy użyciu mgo.v2 i MongoDB> 4.2