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

mongodb, реплики и грешка:{ $err :not master and slaveOk=false, code :13435 }

Трябва да зададете режим "вторичен добре", за да уведомите mongo shell, че разрешавате четене от вторичен. Това е, за да защитите вас и вашите приложения от случайно извършване на евентуално последователно четене. Можете да направите това в обвивката с:

rs.secondaryOk()

След това можете да правите запитвания нормално от вторични.

Бележка относно „евентуална последователност“:при нормални обстоятелства вторичните набори от реплики имат всички същите данни като първичните в рамките на секунда или по-малко. При много голямо натоварване данните, които сте записали на първичния, може да отнеме известно време, за да се репликират във вторичните. Това е известно като „закъснение на копие“, а четенето от изоставащо вторично четене е известно като „евентуално последователно“ четене, тъй като, докато новозаписаните данни ще се покажат в даден момент (с изключение на повреди в мрежата и т.н.), това може да не е наличен веднага.

Редактиране: Трябва само да зададете secondaryOk при запитване от вторични и само веднъж на сесия.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Извличане на HTML от MongoDB за използване в Template

  2. Mongodb избягва дублиращи се записи

  3. Как да извлечем стойност от mongoDB, по нейното ключово име?

  4. Meteor връща грешка в невалиден шестнадесетичен низ, опитвайки се да създаде ObjectID?

  5. MongoDB $ конвертиране