首页 > 代码库 > Python对比两个MongoDB数据库里的Collection数据
Python对比两个MongoDB数据库里的Collection数据
1 #coding=utf-8 2 from pymongo import MongoClient 3 4 def get_all_ids(collection): 5 for each in collection.find(): 6 yield each[‘_id‘] 7 8 def compare_dict(this, other): 9 del this[‘_id‘]10 del other[‘_id‘]11 return this == other12 13 def compare(_first_collection, _second_collection):14 print ‘Total documents are (first:%d, second:%d)‘ % (_first_collection.count(), _second_collection.count())15 for _id in get_all_ids(_first_collection):16 _first = _first_collection.find_one({‘_id‘:_id})17 _second = _second_collection.find_one({‘_id‘:_id})18 if not (_first and _second):19 print ‘document with ObjectId("%s") not in both databases...‘ % _id20 continue21 if not compare_dict(_first, _second):22 print ‘document with ObjectId("%s") not same in both databases...‘ % _id23 24 if __name__ == ‘__main__‘: 25 client1 = MongoClient(‘localhost‘, 27017)26 client2 = MongoClient(‘localhost‘, 19871)27 try:28 compare(client1.NewRisDatabase.NewRisCollection, client2.NewRisDatabase.NewRisCollection)29 except Exception as e:30 print e.message31 finally:32 client1.close()33 client2.close()
Python对比两个MongoDB数据库里的Collection数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。