Я экспортировал несколько коллекций из dong Монго (версия 3.0). Я использовал специальный инструмент экспорта, который генерирует файлы JSON.
После того, как я импортировал его на другой сервер, он перепутал типы данных для некоторых коллекций. У меня в основном возникают проблемы с целочисленным полем, которое он закрыл в Doubles.
Вот как это должно выглядеть:
https://imgur.com/a/KMGzwvo
Это результат после импорта файла json:
https://imgur.com/a/zOR36pR
Я пытался решить эту проблему с помощью nosql путем обновления сущностей.
db.Customers.find({}).forEach( function (x) {
x._id = NumberInt(x._id);
x.OperativePid = NumberToInt(x.OperativePid);
db.Customers.save(x);
});
Для поля OperativePid оно работает, но не для поля _id. Он не изменил тип поля.
Я думал о том, чтобы просто удалить mongoDB в целевой системе и переместить туда файлы необработанных данных. Мне было интересно, могу ли я как-нибудь присоединить их или просто поместить их в каталог исходных данных и повторно инициализировать базу данных mongo в надежде, что он их подберет, поскольку они находятся в его каталоге данных.
Кто-нибудь здесь пробовал что-то подобное?
Я открыт для дополнительных решений. Я на самом деле думаю о написании решения C Sharp, которое модифицирует файлы json и вставляет некоторые строки приведения типов (например, NumberToInt) в файлы json. Но это должен быть последний вариант, потому что он требует времени, которого у меня на самом деле нет. Нужно, чтобы все заработало к завтрашнему дню ...