本文以 Python 代码示例来演示 MongoDB 分片集群的数据基本读写操作。该示例代码基于python 2.7语法编写,版本不同,代码可能存在差异。具体信息,请参见 MongoDB Python Drivers。
#!/usr/bin/pythonimport pymongoimport randommongodbUri = 'mongodb://mongouser:1234567a@10.66.153.111:27017/admin'client = pymongo.MongoClient(mongodbUri)db = client.testif 'num' in db.collection_names():db.drop_collection('num')#create database and shardkey,shardkey is namedb_admin=client.admindb_admin.command('enableSharding', 'test')db_admin.command('shardCollection', 'test.num', key = {'name':1})#insert dataprint 'insert docs'db.num.insert_one({'id':1, 'name':'R9', 'des':'pretty'})db.num.insert_one({'id':2, 'name':'BOY', 'des':'handsome'})db.num.insert_one({'id':3, 'name':'cat', 'des':'nice'})db.num.insert_one({'id':4, 'name':'dog', 'des':'clever'})print 'list all docs'for i in db.num.find(): print i#insert update docprint 'update R9 and delete BOY'db.num.update_one({"name":"R9"},{"$set":{"des":"good"}})db.num.delete_one({"name":"BOY"})db.num.update_one({"id":3}, {"$set":{"des":"kind"}})print 'print R9'for i in db.num.find({"name":"R9"}): print iprint 'list all docs'for i in db.num.find(): print i
运行结果: