我正在尝试从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 回答
CosmosDB模拟器中的DatabaseAccount名称是
localhost
而不是admin
,因此您的mongoimport.exe字符串应如下所示: