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

将mongo导入Azure Cosmos Emulator时出现问题

葛雨华
2023-03-14

我试图将数据从MongoDB恢复到Azure Cosmos DB模拟器,以便测试我的应用程序。我最初使用数据导入工具,但在阅读文档后意识到这是用于Cosmos DB的SQLAPI,而我想使用MongoDB API。

我使用命令行成功地将数据从Mongo导出到json文件

D:\MongoDb\bin>mongoexport.exe --db Vehicles --collection Cars --out C:\Temp\Cars.json
2018-09-18T10:02:21.210-0400    connected to: localhost
2018-09-18T10:02:21.212-0400    exported 100 records

然后我尝试使用下面的命令将其导入Azure Cosmos DB Emulator

D:\MongoDb\bin> mongoimport.exe --host localhost:10255 -u admin -p C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== --ssl --sslAllowInvalidCertificates --db Vehicles --collection Cars --type json --file "C:\Temp\Cars.json"

但是,我得到以下错误:

2018-09-18T11:00:38.829-0400    Failed: error connecting to db server: Database Account admin does not exist
ActivityId: ada5953a-0000-0000-0000-000000000000, Microsoft.Azure.Documents.Common/1.22.0.0
2018-09-18T11:00:38.830-0400    imported 0 documents

我在Azure Cosmos DB Emulator中创建了一个名为Vehicles with a Cars collection的DB,因此不确定我做错了什么——或者Azure Cosmos Emulator不能用于我正在尝试的事情吗?

我尝试在命令行脚本中将管理员更改为车辆,但得到相同的错误。

从Azure Cosmos DB Emulator中,这是我的Mongo连接字符串,我从中获取导入的详细信息

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true

理想情况下,我想让模拟器运行,作为一种本地测试的方式

共有1个答案

龚昊然
2023-03-14

CosmosDB emulator中的数据库帐户名是localhost而不是admin,因此您的mongoimport。exe字符串应如下所示:

D:\MongoDb\bin> mongoimport.exe --host localhost:10255 -u localhost -p C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw== --ssl --sslAllowInvalidCertificates --db Vehicles --collection Cars --type json --file "C:\Temp\Cars.json"
 类似资料:
  • 问题:如何从mongo导出,以便在使用$unwind时可以导入SQL Server? 我需要使用$unwind这意味着我不能使用mongoexport.exe.Mongo.exe为json提供不同的输出,如下所示。输出我不能加载到SQL服务器。我会导出为csv输出,但我的数据包括逗号。我会使用$out首先将我的数据复制到一个新的集合 为了说明我的问题,我创建了一个带有一条记录的集合,该记录具有日期

  • 我正在尝试在我的项目中导入cSipSimple库以实现sip功能,在尝试导入文件时,我采用了通常的导入方式,即: 尽管如此,在同步gradle时,我还是再次得到了一个错误列表: 这是我第一次尝试导入项目并在中用作模块。所以无法找到确切的问题。如果我遗漏了什么,请一定告诉我。提前谢谢。

  • 问题内容: 我正在尝试使用PrintStream在Java文件中写入0xFF。当我使用十六进制编辑器打开其他值时,会将其他值正确写入文件,但是假定显示0xFF的值却改为0xC3BF。 使用的变量类型为int。经过几次尝试后,我还发现我可以输入的“最大值”值为0x7F,这将在十六进制编辑器中正确显示,如果我输入0x80,则十六进制编辑器将显示0xC280。 怎么了? 问题答案: 进行一些调查后发现,

  • 我从GitHub下载了一个现有的maven项目。 如果我从项目的根目录运行,一切都正常(在目标文件夹中创建了一个jar文件,它执行works OK)。但是当我转到Eclipse并将这个项目作为现有的maven项目导入时,我会得到多个(准确地说是395个)Java问题错误(比如

  • 问题内容: 还有其他人在导入项目时遇到问题吗?我总共有100个错误和17个警告。这在中完美运行。我按照步骤创建了Gradle构建文件。在尝试构建项目之前,没有导入错误。 我还尝试过重新下载ABS并重新下载到我的项目中。 ABS是否存在已知问题?(当然,现在是基于Android Studio的) 这是我看到的一些错误: 任何帮助真的很感激 编辑: 似乎没有使用标准IntelliJ IDEA的问题。在

  • 我试图导入一个与html和它出现在网页中没有类,例如这个h1类(内容-page__title)没有出现。