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

jak mogę automatycznie zwiększyć pole w mongodb za pomocą kodu java?

MongoDB automatycznie tworzy identyfikator dla każdego wstawionego do niego obiektu. Nie musisz tworzyć własnego identyfikatora.

Jeśli potrzebujesz rosnącego identyfikatora liczby całkowitej, natkniesz się na różnego rodzaju problemy z rozproszoną synchronizacją - w rzeczywistości jest to dość trudne do uzyskania w nietrywialnych przypadkach.

Aby wygenerować unikalny identyfikator w najprostszy sposób, jaki przychodzi mi do głowy:

  • umieść indeks w kolumnie id z unikalnym ograniczeniem.
  • Aby wstawić zapytanie o dokument do indeksu o najwyższą liczbę, dodaj 1, użyj tego jako identyfikatora.
  • jeśli wstawianie nie powiedzie się z powodu zduplikowanej próby indeksowania

Wymaga to kilku podróży w obie strony, ale powinien być solidny i z dość szybkim indeksem.

Jeśli masz tylko jedną lokalizację, w której je zapisujesz, możesz spieniężyć identyfikator w AtomicInteger lokalnie i wykonać pełny proces podróży w obie strony tylko wtedy, gdy wykryjesz kolizję, a następnie zaktualizuj AtomicInteger.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak pobrać i wydrukować obiekty pymongo.cursor.Cursor?

  2. Duże przepływy danych przy użyciu pand

  3. MongoDB $lub operator potoku agregacji

  4. Jak tworzyć, wyświetlać i upuszczać kolekcje w MongoDB

  5. Skopiuj i zmień nazwę pola dokumentu w MongoDB