標籤:
import pymongo#庫名db = pymongo.MongoClient(‘192.168.30.252‘,27017).bulk_example#test集合插入db.test.insert_many([{‘i‘:i} for i in xrange(10000)]).inserted_idsdb.test.count()#有條理的大規模資料寫入bulk = db.test.initialize_ordered_bulk_op()# Remove all documents from the previous example.bulk.find({}).remove()bulk.insert({‘_id‘: 1})bulk.insert({‘_id‘: 2})bulk.insert({‘_id‘: 3})#更新bulk.find({‘_id‘: 1}).update({‘$set‘: {‘foo‘: ‘bar‘}})#插入替換bulk.find({‘_id‘: 4}).upsert().update({‘$inc‘: {‘j‘: 1}})#替換bulk.find({‘j‘: 1}).replace_one({‘j‘: 2})#execute是執行result = bulk.execute()pprint(result)#存在異常 的處理from pymongo.errors import BulkWriteError#緩衝隊列bulk=db.test.initialize_ordered_bulk_op()#尋找j=2 然後替換成j=5bulk.find({‘j‘: 2}).replace_one({‘i‘: 5})#插入id=4bulk.insert({‘_id‘:4})bulk.find({‘i‘:5}).remove_one()try:bulk.execute()except BulkWriteError as bwe:pprint(bwe.details) from pymongo.errors import BulkWriteErrorbulk = db.test.initialize_unordered_bulk_op()bulk.insert({‘_id‘: 1})bulk.find({‘_id‘: 2}).remove_one()bulk.insert({‘_id‘: 3})bulk.find({‘_id‘: 4}).replace_one({‘i‘: 1})try:bulk.execute()except BulkWriteError as bwe:pprint(bwe.details) #初始化隊列bulk = db.test.initialize_ordered_bulk_op()bulk.insert({‘a‘: 0})bulk.insert({‘a‘: 1})bulk.insert({‘a‘: 2})bulk.insert({‘a‘: 3})try:bulk.execute({‘wtimeout‘: 1})except BulkWriteError as bwe:pprint(bwe.details)
python操作mongodb之五大量寫操作