Men*_*kov 3 python sharding mongodb pymongo python-2.7
我正在寻找一种在python(2.7)程序中远程执行现有集合的分片的方法.我无法找到执行该功能的API(pymongo),或者可能只是看起来不够好.
这样的事可能吗?
提前致谢
A. *_*vis 10
按照设置分片群集的说明进行操作,直到将"mongo"shell连接到mongos服务器并说:
sh.enableSharding("<database>")
Run Code Online (Sandbox Code Playgroud)
相反,enableSharding
只需键入不带括号的命令即可查看代码:
sh.enableSharding
Run Code Online (Sandbox Code Playgroud)
您可以看到它{ enableSharding : dbname }
在"admin"数据库上执行,所以使用pymongo执行此操作:
client = pymongo.MongoClient()
client.admin.command('enableSharding', 'dbname')
Run Code Online (Sandbox Code Playgroud)
显然,将'dbname'替换为您的数据库名称.重复以对集合进行分片.从shell获取代码:
sh.shardCollection
Run Code Online (Sandbox Code Playgroud)
并在Python中执行相同的命令:
client.admin.command('shardCollection', 'dbname.collectionname', key={'shardkey': 1})
Run Code Online (Sandbox Code Playgroud)