MongoDB列出的文档不在另一个列表中

时间:2014-01-15 13:40:11

标签: mongodb mongoengine

我有一个包含许多对象的文档,以及在其上运行的几个聚合处理器。 可以说对象文档的名称是Objects。 对于一个处理器,我创建了另一个名为ProcessedObjects的文档,其中每个实例都是一个包含一个字段“processedObjectPtr”的对象,该字段是对象的链接。

我想运行以下基本循环:

for all objects that haven't been processed yet: 
    1 - process object
    2 - add object to processed object list

我不知道在MongoDB中如何做的部分是获取尚未处理的对象列表。从理论上讲,我可以通过向其添加另一个字段来标记对象本身,但是当我将有许多处理器变得难看时,这就是为什么我更喜欢将“已处理对象列表”保存在单独的文档中。

是否有一种优雅的方法来执行此操作,还是必须将处理后的元数据添加到实际对象中? 我正在使用mongoengine,但任何答案都可以。

谢谢!

1 个答案:

答案 0 :(得分:0)

我最终在我的对象中添加了'processedFlags'列表,因此每个处理器都可以标记(通过标记)它已经处理过该对象,并且还查询哪些对象没有该标记。