我正在尝试从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
理想情况下,我想让模拟器运行,以作为在本地测试事物的一种方式
答案 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"