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

Не може да се запази състоянието на транзакцията, тъй като колекцията от транзакции на сесията липсва

Вероятно сте изпуснали и config.transactions колекция. Това е колекция за вътрешна употреба, която съхранява записи, използвани за поддръжка на retryable пише за комплекти реплики и разделени клъстери. Вижте също Конфигуриране на бази данни .

От MongoDB v3.6+ потребителите няма да могат да изхвърлят config база данни в набор от реплики от mongo черупка. Въпреки че, ако се свързвате чрез mongo shell преди v3.6, все още можете да го направите, моля, уверете се, че сте надстроили shell, за да съответства на версията на сървъра.

Можете ръчно да пресъздадете колекцията на основния възел:

use config
db.createCollection("transactions");

Като алтернатива изборът на набор от реплики също автоматично ще го пресъздаде. Това е така, защото създаването на config.transactions колекцията е част от възел на набор от реплики. session_catalog_mongod.cpp#L156

Новите config.transactions колекцията ще бъде копирана към вторичните, след като основната завърши фазата на наваксване.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. PyMongo - избиране на поддокументи от колекция чрез регулярен израз

  2. MongoDB $setIsSubset

  3. Включете полета в агрегата на mongodb

  4. Вземете BinData UUID от Mongo като низ

  5. Как да разрешите грешка:dbpath (/data/db/) не съществува постоянно в MongoDB