Вопрос: как мне экспортировать из mongo, чтобы я мог импортировать в SQL Server, если я использую $ unwind?
Мне нужно использовать $ unwind, что означает, что я не могу использовать mongoexport.exe.Mongo.exe дает другой вывод для JSON, как показано ниже.Вывод я не могу загрузить в SQL Server.Я бы экспортировал как вывод csv, но мои данные включают запятые.Я бы использовал $ out, чтобы сначала скопировать мои данные в новую коллекцию, а затем использовать mongoexport, но я запрашиваю производственный сервер в облаке, где у меня есть только права на чтение.
Чтобы проиллюстрировать мою проблему, я создалколлекция с одной записью, которая имеет поле даты "edited_on".Здесь вы можете увидеть, что вывод mongoexport начинается с ["_id: {$ oid ...., а вывод mongo начинается с {" _id: ObjectID (….
*** MONGOEXPORT
Команда:
mongoexport --quiet --host localhost: 27017 --db "zzz" -c "Test_Structures" - поля edited_on --type json --jsonArray --out C: \ export_test.json
Вывод:
[{"_ id": {"$ oid": "5aaa1d85b8078250f1000c0e"}, "edited_on": {"$date ":" 2018-03-15T07: 15: 17.583Z "}}]
Я могу импортировать эти данные в SQL с OPENROWSET вместе с OPENJSON. Описано здесь: https://www.mssqltips.com/sqlservertip/5295/different-ways-to-import-json-files-into-sql-server/
*** MONGO
Команда:
mongo localhost / UW --quiet -eval "db.Test_Structures.aggregate ({$ project:{_id: 1, edited_on: 1}}) "> C: \ aggregate_test.json
Вывод:
{" _id ": ObjectId (" 5aaa1d85b8078250f1000c0e ")), "edited_on": ISODate ("2018-03-15T07: 15: 17.583Z")}