Python 如何使用pymongo从受密码保护的Mongo服务器复制数据库?

Python 如何使用pymongo从受密码保护的Mongo服务器复制数据库?,python,mongodb,pymongo,Python,Mongodb,Pymongo,我正在尝试将数据库从Mongo服务器复制到本地Mongo实例 我需要通过python来实现这一点,并且正在运行pymongo3.4,它不再有copy\u database方法。相反,我尝试使用client.admin.command('copydb',…)函数。然而,它似乎不再支持源Mongo服务器的身份验证 有什么解决办法吗 谢谢 有什么解决办法吗 如评论中所述,目前没有通过(3.4版)将经过身份验证的源MongoDB服务器复制到另一台服务器的解决方案 有关其背后原因的更多解释,请阅读 根据需

我正在尝试将数据库从Mongo服务器复制到本地Mongo实例

我需要通过python来实现这一点,并且正在运行
pymongo3.4
,它不再有
copy\u database
方法。相反,我尝试使用
client.admin.command('copydb',…)
函数。然而,它似乎不再支持源Mongo服务器的身份验证

有什么解决办法吗

谢谢

有什么解决办法吗

如评论中所述,目前没有通过(3.4版)将经过身份验证的源MongoDB服务器复制到另一台服务器的解决方案

有关其背后原因的更多解释,请阅读


根据需要,您可以使用mongo shell方法从一个
mongod
复制到另一个

在复制数据之前,您可以从文档中看到
command()
方法,您必须通过db.admin进行身份验证。@juliansalas OP正试图使用此方法。但不能使用紧急停堆身份验证。那里的文档实际上在页面底部写着。但问题的答案基本上是“你不能”。原因是wire协议中还不支持,并且做了一些非常低级的事情。理论上,您可以在纯BSON中实现。但这将是艰难的。至于“复制数据库的需要”,那么我建议任何常规应用程序真的“不应该”有这样的需要。如果您认为您需要它,除了尝试编写某种“管理工具和瑞士军刀”,那么您的流程可能有缺陷,应该重新检查“需要复制数据库”。通用应用程序不应该关心这样的事情,也不应该在如此低的级别上触及这样的事情。如果是“为了一个工具”,那么就享受实现SASL握手和原始BSON命令的乐趣。