Mongodb: 用Python代码在集合中分片

2024-06-02 06:31:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个分布式MongoDB 3.2数据库。该系统使用RedHat操作系统安装在两个节点上。在

使用python和PyMongo驱动程序(或其他驱动程序),我希望启用集合的分片,指定复合切分键。在

在mongo shell中,这是有效的:

> use mongotest
> sh.enableSharding("mongotest")
> db.signals.createIndex({ valueX: 1, valueY: 1 }, { unique: true })
> sh.shardCollection("mongotest.signals", { valueX: 1, valueY: 1 })

('mongotest'是数据库,'signals'是集合)

最后两行我想在我的代码中生成它们。有人知道这在python中是否可行吗?如果是的话,是怎么做到的?在

非常感谢你, 对不起,我的英语不好


Tags: 数据库节点mongomongodb系统sh驱动程序分布式
1条回答
网友
1楼 · 发布于 2024-06-02 06:31:16

将shell命令直接转换为python如下所示。在

from pymongo import MongoClient


client = MongoClient() 
db = client.admin # run commands against admin database.

db.command('enableSharding',  'mongotest')
db.command({'shardCollection': 'mongotest.signals', 'key': {'valueX': 1, 'valueY': 1}})

但是,您可能需要确认enableSharding和shardCollection都在您的db中公开,方法是运行

^{pr2}$

相关问题 更多 >