import pymongo conn = pymongo.MongoClient('myserver', 8839) db = conn['mydbname'] coll = db.myCollection bulkop = coll.initialize_ordered_bulk_op() retval = bulkop.find({'field1':1}).upsert().update({'$push':{'vals':1}}) retval = bulkop.find({'field1':1}).upsert().update({'$push':{'vals':2}}) retval = bulkop.find({'field1':1}).upsert().update({'$push':{'vals':3}}) retval = bulkop.execute() 

Read more of this post