
Я управлял тремя монго (4.0.4) контейнеров в docker с настроенным набором реплик более 10 месяцев без каких-либо проблем или неполадок. Основной контейнер mongo/набор реплик был подключен к приложению spring boot, которое работает под управлением spring2.1.1с использованием транзакций mongo.
В какой-то момент во время праздников все мои коллекции mongo db пропали, все созданные коллекции и данные внутри исчезли. Поскольку у меня есть некий запланированный процесс в spring boot, и этот процесс вставляет данные в одну коллекцию, эта коллекция была создана, и данные были вставлены, что является правильным способом функционирования этого процесса (spring boot автоматически создает коллекции, если они еще не созданы), поэтому в тот момент, когда я увидел, что потерял данные, у меня была только одна коллекция и данные, которые были вставлены после проблемы.
Все три контейнера имеют общий том с хоста, и когда я просматривал файлы .wt, то обнаружил один файл, часть данных в котором можно прочитать, и, похоже, все сброшенные данные там, но я не знаю, как их восстановить. В файлеколлекция-8--739794789310552254.wtтам около 3561507 строк и файл около 390 МБ. Когда я открываю этот файл в редакторе, часть данных читабельна, особенно даты (есть журнал аудита для всех документов, созданных, последних изменений и т. д.).
Пробовал восстановить с помощью mongo, но безуспешно.
Что я мог только думать о том, как это могло произойти, ведь в журналах не было записей о том, что кто-либо обращался к базе данных и выполнял какие-либо операторы удаления. Я мог думать только о том, что часть транзакций в Spring каким-то образом заблокировалась, и Mongo вернулась к последнему известному состоянию, которое было пустым (единственное разумное объяснение для меня). Почему она восстановилась до пустого состояния, я не знаю.
Есть ли способ восстановить данные, которые находятся в коллекции?8--739794789310552254.wt У меня есть весь том из/данные/бдПуть сохранен, и я могу воссоздать Mongo из этих файлов с помощью Docker, но у меня есть только состояние после возникновения проблемы.