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