将mongo导入Azure Azure Cosmos仿真器时出现问题

时间:2018-09-18 15:08:01

标签: mongodb azure azure-cosmosdb azure-cosmosdb-mongoapi

我正在尝试从MongoDB将数据还原到Azure Cosmos DB仿真器,以便测试我的应用程序。我最初使用的是数据导入工具,但在阅读了文档后意识到,该文档可用于Cosmos DB的SQL API,而我想使用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仿真器中

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数据库仿真器中创建了一个名为Vehicles with Cars集合的数据库,因此不确定我做错了什么?还是我无法将Azure Cosmos仿真器用于尝试的工作?

我尝试在命令行脚本中将admin更改为Vehicles,但出现相同的错误。

在Azure Cosmos DB模拟器中,这是我的Mongo Connection字符串,这是我从中提取导入细节的地方

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

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

1 个答案:

答案 0 :(得分:1)

CosmosDB仿真器中的DatabaseAccount名称是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"