Я случайно удалил все базы данных из моей базы данных mongo
Вероятно, вы также удалили коллекцию config.transactions . Это коллекция для внутреннего использования, в которой хранятся записи, используемые для поддержки повторяющихся записей для наборов реплик и сегментированных кластеров. См. Также Базы данных конфигурации .
Начиная с MongoDB v3.6 +, пользователи не смогут удалить базу данных config
из набора реплик из оболочки mongo . Хотя если вы подключаетесь с использованием оболочки mongo
до версии 3.6, вы все равно можете это сделать, убедитесь, что обновили оболочку в соответствии с версией сервера.
"Невозможно сохранить состояние транзакции, поскольку коллекция транзакций сеанса отсутствует. Это указывает на то, что коллекция config.transactions была удалена вручную."
Вы можете вручную заново создать коллекцию на первичном узле:
use config
db.createCollection("transactions");
В качестве альтернативы, выборы набора реплик также автоматически воссоздают его. Это связано с тем, что создание коллекции config.transactions
является частью шага узла реплики. session_catalog_mongod.cpp # L156
Новая коллекция config.transactions
будет реплицирована на вторичные серверы после того, как первичный завершит фазу догоняющего.