首页 文章

将mongo导入到Azure Cosmos Emulator的问题

提问于
浏览
0

我正在尝试从MongoDB将数据还原到Azure Cosmos数据库模拟器,以便测试我的应用程序 . 我最初使用的是数据导入工具,但在阅读文档后实现了这是为了与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 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数据库模拟器中创建了一个名为Vehicles with a cars集合的数据库,因此不确定我做错了什么 - 或者Azure Cosmos Emulator是否可以用于我正在尝试的内容?

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

从Azure Cosmos数据库模拟器这是我的Mongo连接字符串,这是我从导入中提取详细信息的地方

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

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

1 回答

  • 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"
    

相关问题