Pymongo-仅处理新近更新的文档?

时间:2019-01-22 06:53:36

标签: python-3.x mongodb pymongo

因此,我是Pymongo和MongoDB的新手,我对如何最好地解决此问题感到困惑。我有两个收藏夹:

Raw_collection 
Processed_collection 

基本上,我将原始文档放入Raw_collection中,然后通过基于过滤器等放置一些文档来处理它们,并将其余文档存储到Processed_collection中。具体来说,我计划也定期更新Raw_collection中的记录。

这样,在连续更新中仅将新插入的文档处理到Raw_collection的最佳方法是什么?我调查了bulk methods,但不确定是否是我想要的...这似乎是一个简单的问题,但是由于我的经验不足,我不确定该怎么解决。非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

所以我最终通过pymongo的insert_many方法执行了以下操作:

import pandas 
import pymongo

insert_raw_collection(): #call First
     result = db[collection].insert_many(documents)
     obj_id_list = result.inserted_ids
     #[ObjectId('54f113fffba522406c9cc20e'), ObjectId('54f113fffba522406c9cc20f')]
     return obj_id_list

insert_processed_collection(obj_id_list): # call Second 
     cursor = raw_collection_pandas_data_frame.find({"_id": {"$in": obid_list}})
     for doc in cursor:
         if filter(doc) == True 
             # do something 

基本上,我从上一个插入步骤返回插入的ObjectId的列表,并执行过滤操作,以便知道要保留的内容。