执行 mongo 导入到 Azure Cosmos 模拟器时出现问题
Issue doing mongo import to Azure Cosmos Emulator
我正在尝试将数据从 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 DB 模拟器中创建了一个名为 Vehicles with a Cars 集合的数据库,所以不确定我做错了什么 - 或者 Azure Cosmos 模拟器不能用于我正在尝试的事情吗?
我尝试在命令行脚本中将 admin 更改为 Vehicles,但出现相同的错误。
来自 Azure Cosmos DB 模拟器,这是我的 Mongo 连接字符串,我从中提取详细信息以进行导入
mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true
理想情况下,我想获得模拟器 运行 作为在本地进行测试的一种方式
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"
我正在尝试将数据从 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 DB 模拟器中创建了一个名为 Vehicles with a Cars 集合的数据库,所以不确定我做错了什么 - 或者 Azure Cosmos 模拟器不能用于我正在尝试的事情吗?
我尝试在命令行脚本中将 admin 更改为 Vehicles,但出现相同的错误。
来自 Azure Cosmos DB 模拟器,这是我的 Mongo 连接字符串,我从中提取详细信息以进行导入
mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/admin?ssl=true
理想情况下,我想获得模拟器 运行 作为在本地进行测试的一种方式
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"