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

Pole przyrostowe do istniejącej kolekcji

Cóż, używając wspomnianego linku , wolałbym użyć podejście do zbierania liczników .

Podejście do zbierania liczników ma pewne wady, w tym:

  • Zawsze generuje żądanie wielokrotności (dwa):jedno, aby uzyskać numer sekwencji, drugie, aby wykonać wstawienie przy użyciu identyfikatora otrzymanego za pośrednictwem sekwencji,
  • Jeśli używasz funkcji shardingu mongodb, dokument odpowiedzialny za przechowywanie stanu licznika może być używany bardzo często i za każdym razem dotrze do tego samego serwera.

Jednak powinno być odpowiednie dla większości zastosowań.

Wspomniane przez Ciebie podejście ("optymistyczne pętla" ) nie powinien łamać IMO i nie domyślam się dlaczego masz z tym problem. Jednak nie polecam tego. Co się stanie, jeśli wykonasz kod na wielu klientach mongo, jeśli jeden ma duże opóźnienia, a inni nadal pobierają identyfikatory? Nie chciałbym napotkać tego rodzaju problemu... Ponadto są co najmniej dwa żądania na udaną operację, ale nie ma maksymalnej liczby ponownych prób przed sukcesem...




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd indeksu tekstu MongoDB:zmiana języka nie jest obsługiwana

  2. Które typy MongoDB nie są zachowywane przez mongoimport/mongoexport?

  3. Indeks zakresu dat Mongo z filtrami

  4. MongoDB Ostrzeżenie o wycofaniu mangusty

  5. Struktura agregacji MongoDB $subtract