gpt4 book ai didi

python - PyMongo - 从另一台服务器克隆集合

转载 作者:可可西里 更新时间:2023-11-01 09:31:27 26 4
gpt4 key购买 nike

我正在尝试使用 Python 将远程服务器上的一个集合克隆到我的本地主机(因为我必须在以后使用 Python 使用此函数自动执行多个任务)。从我读过的内容来看,使用 db.command 是解决这个问题的最佳方法,但我似乎无法让它工作,甚至无法找到我真正做错了什么。这是我的代码和错误,任何感谢您的帮助。

client = MongoClient()
db = clientProd.tools
colc = db.newDump

db.command({"cloneCollection": "databaseName.dump", "from": "example.com:6001"})

错误:

Traceback (most recent call last):
File "/Users/dustin/Git/redbull_dev/test.py", line 14, in <module>
dbProd.command({"cloneCollection": "databaseName.dump", "from": "example.com:6001"})
File "/Library/Python/2.7/site-packages/pymongo-2.6.3-py2.7-macosx-10.8-intel.egg/pymongo/database.py", line 396, in command
File "/Library/Python/2.7/site-packages/pymongo-2.6.3-py2.7-macosx-10.8-intel.egg/pymongo/helpers.py", line 147, in _check_command_response
pymongo.errors.OperationFailure: command {'from': 'example.com:6001', 'cloneCollection': 'databaseName.dump'} failed: no such cmd: from
[Finished in 5.2s with exit code 1]

最佳答案

显然你看过 mongo 的文档,你应该看看 pymongo 的文档 http://api.mongodb.org/python/current/api/pymongo/database.html

据此,正确的命令应该是:

db.command("cloneCollection", collection="databaseName.dump", from="example.com:6001")

编辑

因为 from 是一个 python 关键字,我们可能需要创建一个字典并解压它:

db.command("cloneCollection", **{'collection': "databaseName.dump", 'from': "example.com:6001"})

关于python - PyMongo - 从另一台服务器克隆集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22569786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com