在这段代码中,我尝试加入mongodb中的2个集合
对于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)
这可能是由于缺乏记忆。管道级的RAM限制为100 megabytes
要允许处理大型数据集,请使用allowDiskUse选项启用聚合管道阶段以将数据写入临时文件。相关问题 更多 >
编程相关推荐