mongo_into_mongo.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. from pymongo import MongoClient
  2. from bson import ObjectId
  3. from lib.mogodb_helper import MongoDBInterface
  4. #复制mongo数据源 从一个源1到另一个源3
  5. # 从源1中导入到源3 ,和源2 一样的数据
  6. #mongo库 源1
  7. # MongodbConfig = {
  8. # "ip_port": "127.0.0.1:27088",
  9. # "user": "viewdata",
  10. # "password": "viewdata",
  11. # "db": "qfw",
  12. # }
  13. MongodbConfig = {
  14. "ip_port": "172.20.45.129:27002",
  15. "db": "data_quality",
  16. }
  17. mdb = MongoDBInterface(MongodbConfig)
  18. #mongo库 源3
  19. # MongodbConfigInsert = {
  20. # "ip_port": "192.168.3.149:27180",
  21. # "db": "data_quality",
  22. # }
  23. # insertdb = MongoDBInterface(MongodbConfigInsert)
  24. # max_id = ObjectId("0" * 24)
  25. max_id = ObjectId("6826ab875463fc3ceb767fe5")
  26. # 连接MongoDB数据库
  27. with MongoClient('172.20.45.129', 27002) as client:
  28. #源2
  29. db = client.data_quality
  30. coll = db.bidding_202505_main
  31. # for row in coll.find().sort("_id", 1):
  32. for row in coll.find({"_id": {"$gt": max_id}}).sort("_id", 1):
  33. _id = row.get("_id", "")
  34. # print(row["_id"])
  35. if _id:
  36. # m_id = ObjectId(_id)
  37. result=mdb.find_by_id("bidding_202505",_id)
  38. if result==None:
  39. print(f"{_id}+在大库没找到")
  40. if result:
  41. result["_id"] = ObjectId(row["_id"])
  42. mdb.insert2db("bidding_202505_chouqu",result)
  43. # 关闭数据库连接
  44. client.close()