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

Консистенция „Четете сами-пишете“ в Mongodb

Има няколко точки относно този въпрос.

  1. Не е гарантирано, че имате последователност при четене след запис, освен ако не използвате "safe=true" , "w=1" (или по-голям) или "j=true" с твоето писане. Можете да ги включите като част от insert() или update() команди или в противен случай използвайте set_lasterror_options() за да зададете тези опции за връзката, базата данни или колекцията, които използвате.

  2. Ако разрешавате четене от вторични възли (напр. ReadPreference, различно от PRIMARY), тогава няма да получите семантика за четене след запис, а само евентуална последователност.

  3. Ако използвате ReadPreference на PRIMARY и задавате подходящите опции за lasterror, тогава гарантирано ще получите семантика за четене след запис за всички операции, които използват един и същ сокет, тоест една и съща нишка.

  4. Ако използвате множество нишки и НЕ четете от вторични възли, тогава гарантирано ще получите последователност на четене след запис, стига да подадете четенето във втората нишка, след като записът завърши в първата нишка. Можете да използвате стандартни примитиви за синхронизиране на нишки, за да гарантирате това.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. как мога да създам моята заявка за mongodb въз основа на входа от потребителя в node.js?

  2. Как мога да стартирам MongoDB като услуга на Windows?

  3. Как да стартирате множество приложения с един mongodb с помощта на docker

  4. Релации много към много в CouchDB или MongoDB

  5. Защо PyMongo хвърля AutoReconnect?