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

как мога автоматично да увелича поле в mongodb с помощта на java код?

MongoDB автоматично създава идентификатор за всеки обект, вмъкнат в него. Не е необходимо да създавате свой собствен идентификатор.

Ако се нуждаете от нарастващ идентификационен номер на цяло число, тогава ще се сблъскате с всякакви проблеми с разпределената синхронизация - всъщност е доста трудно да се получи правилно за нетривиални случаи.

За генериране на уникален идентификатор най-простият начин, за който се сещам:

  • поставете индекс на колоната с уникално ограничение.
  • за да вмъкнете заявка за документ в индекса за най-високото число, добавете 1, използвайте го като идентификатор.
  • ако вмъкването е неуспешно поради дублиран индекс, опитайте отново

Включва няколко обиколки, но трябва да е стабилен и с индекс на място доста бързо.

Ако имате само едно местоположение, което ги записва, можете да осребрите идентификатора в AtomicInteger локално и да извършите пълния процес на двупосочно пътуване само ако откриете сблъсък, след което актуализирайте AtomicInteger.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $toDecimal

  2. Обединяване на документи с техните вложени масиви и техните вложени масиви

  3. Създайте многоключов индекс в MongoDB

  4. Поле Manytomany в документа на Django mongoengine

  5. Файловете на журнала присъстват в директорията на журнала, но стартират без активирано журналиране