当前位置: 首页 > 知识库问答 >
问题:

问题从mongo导出,然后导入到SQLServer

冯德宇
2023-03-14

问题:如何从mongo导出,以便在使用$unwind时可以导入SQL Server?

我需要使用$unwind这意味着我不能使用mongoexport.exe.Mongo.exe为json提供不同的输出,如下所示。输出我不能加载到SQL服务器。我会导出为csv输出,但我的数据包括逗号。我会使用$out首先将我的数据复制到一个新的集合

为了说明我的问题,我创建了一个带有一条记录的集合,该记录具有日期字段"edited_on"。您可以在这里看到mongoexport输出以["_id:{$oid......开头,而mongo输出以{"_id: ObjectID(...

***MONGOEXPORT

命令:

mongoexport--rest--hostlocalhost:27017--db"zzz"-c"Test_Structures"--fieldedited_on--type json--jsonArray--out C:\export_test.json

输出:

[{"_id":{"$oid":"5aaa1d85b8078250f1000c0e"},"edited_on":{"$date":"2018-03-15T07:15:17.583Z"}}]

我可以使用OPENROWSET和OPENJSON将这些数据导入SQL。描述如下:https://www.mssqltips.com/sqlservertip/5295/different-ways-to-import-json-files-into-sql-server/

***蒙戈

命令:

mongo localhost/UW——quiet-eval“db.Test_Structures.aggregate({$project:{u id:1,edited_on:1})”

输出:

{"_id": ObjectId("5aaa1d85b8078250f1000c0e"),"edited_on": ISODate("2018-03-15T07:15:17.583Z")}

共有1个答案

太叔鸿博
2023-03-14

声明@JSON varchar(最大值)

我的同事回答了我的问题。使用替换()删除json文件中导致问题的文本,如下所示。

从OPENROWSET(BULK'C:\aggregate_test.JSON',SINGLE_CLOB)中选择@JSON=BulkColumn作为j SET@JSON=replace(replace(replace(@JSON,'objectid(',''),''),'isodate(','','',''),'''''),'')

用(…)从OPENJSON(@JSON)中选择*

 类似资料:
  • 我试图将数据从MongoDB恢复到Azure Cosmos DB模拟器,以便测试我的应用程序。我最初使用数据导入工具,但在阅读文档后意识到这是用于Cosmos DB的SQLAPI,而我想使用MongoDB API。 我使用命令行成功地将数据从Mongo导出到json文件: 然后我尝试使用下面的命令将其导入Azure Cosmos DB Emulator 但是,我得到以下错误: 我在Azure Co

  • ibus-libpinyin的导入导出问题: 1.导入时,无法知道是否全部导入完成了? 如果导入的文件很大,我何时知道导入完成了?导入导出界面没有显示,我根本不知道何时完成。 2.导出 我导入了一个用户自定义文件,假定这个文件很短就两行 导入完成后,用户词库文件夹的位置是.cache文件夹下面。 请看图片 这个库的设计有问题,根本就连".cache"文件夹都显示不出来。 现在,我想导出,请问如何操

  • 我已经将项目从Eclipse导入到Android studio。它构建成功,但当我尝试在android studio中执行项目时,我遇到了以下异常。 意外的顶级异常:com.android.dex。DexException:多个dex文件定义Landroid/support/annotation/AnimRes;在com.android.dx.merge.DexMerger.readSortabl

  • 在这里使用谷歌云。我刚刚从GCP向Terraform导入了一个项目资源。我看到了以下问题- 资源没有全面导入。资源项目有多个参数需要设置——每个参数都是自己的资源。正如您在下面看到的,有. project来命名项目,new_service_project将其转换为服务项目,以及该项目的每个启用的API的.project_service[n]。 所有这些都必须手动完成,并通过运行以下单独的命令分别完

  • 我需要将javascript数组导出到excel文件并下载它,我正在此代码中执行此操作。数据是一个脚本对象数组。 所有这些都很好,直到我有了非英语字符的字符串属性,比如西班牙语、阿拉伯语或希伯来语。如何使用所有这些非ASCII值进行导出?

  • 但是我无法访问JAR中的包。而且它也不在外部库中。我有一些模型类,我试图做的是在一个不同的项目中使用那些。