Mongo DB (v3.0) портит типы данных во время импорта - PullRequest
0 голосов
/ 29 апреля 2019

Я экспортировал несколько коллекций из 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. Но это должен быть последний вариант, потому что он требует времени, которого у меня на самом деле нет. Нужно, чтобы все заработало к завтрашнему дню ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...