从MongoDB到DocumentDB的{mongorestore

时间:2017-03-24 21:01:00

标签: mongodb azure azure-cosmosdb mongorestore

我正在尝试将mongorestore.exe从集合的数据库转储文件运行到DocumentDB数据库中。我有使用MongoDB和Azure的经验,但对DocumentDB没有太多经验。

我收到错误

  

解析命令行选项时出错:未知选项“ssl”

如果我使用this tutorial中的命令。

我在本地安装了MongoDB社区服务器,“Windows Server 2008 R2 64位及更高版本,最新稳定版本的SSL支持x64” - 3.2.4。 看起来自版本3(link)后,--ssl命令可能不可用。

但是,DocumentDB强制执行SSL。

知道如何将现有数据库从MongoDB迁移到DocumentDB吗?数据库非常大(~GB),因此mongoimport需要太长时间,我相信我们需要用户mongorestore。

更新,命令示例:

mongorestore.exe --host myhost123.documents.azure.com:10250 -u myhost123 -p somepassword== --db myhost123  --ssl --sslAllowInvalidCertificates

给了我这个错误:

  

解析命令行选项时出错:未知选项“ssl”

如果我删除了两个ssl选项(--ssl --sslAllowInvalidCertificates),我会收到一个错误,因为在Azure DocumentDB上强制实施SSL,这个错误是有意义的:

  

失败:连接到数据库服务器时出错:没有可访问的服务器

1 个答案:

答案 0 :(得分:0)

根据您的描述,我安装了MongoDB社区服务器Windows Server 2008 R2 64-bit and later, with SSL support x64 -3.4.3并遵循此官方tutorial关于使用mongorestore将数据导入到MongoDB的API。经过一些试验,我可以将mongodump生成的本地文件恢复到我的Azure DocumentDB(MongoDB API),如下所示:

enter image description here

  

失败:连接到数据库服务器时出错:没有可访问的服务器

我也遇到了这个错误,发现它是由IP Access Control引起的,  我当前的IP不包含在允许的客户端IP地址列表中。您可以找到有关DocumentDB防火墙here的更多详细信息。