python中利用pymongo连接mongo集群声明创建分片collection

python中利用pymongo连接mongo集群声明创建分片collection

当搭建了集群做了sharding之后,最好的存储方式是允许db分片并指定collection的分片方式(shard key)。这个操作使用mongodb shell能够很方便的完成,但当我们使用python进行数据导入操作的时候,就必须通过pymongo进行,以下是pymongo允许分片的例子

import pymongo

conn = pymongo.Connection('127.0.0.1', 27017) 
db = conn['test'] #假定名为test的db已经存在 
db_admin = conn['admin'] #command的执行必须通过名为admin的db才能进行 
col_data = db["data"] 
db_admin.command('enablesharding', 'test') #确认目标db的sharding功能开启(这行代码一个数据库只执行一次有效,如果已经设置,则会抛出异常)
db_admin.command('shardcollection', 'test.data', key = {'_id':1}) #指定目标collection和对应的shard key(这行一个表执行一次,如果出现多表,表名不同的情况下,应该每张表都执行一次)
conn.close() 
上一篇:python获取区域内房价信息


下一篇:Python MongoDB