В этом коде я пытаюсь объединить 2 коллекции в mongodb
- RM_Line содержит 10 000 строк
- sflow содержит 18 476 321 строк
С помощью цикла for я вставляю результат агрегации в другую коллекцию, и он дает мне ровно 101 строку, после чего он просто блокируется во время выполнения без ошибки или остановки выполнения
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["myevo"]
mycol = mydb["RM_Line"]
pipeline = [{'$lookup':
{'from' : 'sflow',
'localField' : 'IP_Adress',
'foreignField' : 'srcaddr',
'as' : 'mergeipadr'}},
{'$unwind': '$mergeipadr'},
{ "$addFields": { "_id": "$$REMOVE" } }
]
mycol2 = mydb["RMLine_Merge_sflow"]
merge = mycol.aggregate(pipeline)
for doc in (merge):
mycol2.insert_one(doc)