0

我需要一个调度程序作业,它将每 5 分钟执行一次并处理来自 mongodb 集合的下 100 条记录。它应该从最先插入的文档开始。因此,在第一次运行中,我可以按升序对数据进行排序并获取前 100 个文档。但是对于连续运行,我如何检索给出最后处理文档的对象 ID 的下 100 条记录?(我不确定如何在此处使用对象 ID,因为它是具有不同参数的生成字符串......我没有定义任何其他 ID。)

如果这不是从 mongodb 中检索大型数据集记录的好方法,请提出更好的方法。

每个文档如下所示:

{ "_id" : { "$oid" : "51ff17c8e4b02969f18e72bb"} , "source_of_info" : "somesource" , 
"entityinfo" : [ { "user" : "Alfredo Vela Zancada" , "social_network_entity_id" : 
 364221775325822977 , "text" : "blah blah blah" , "created_at" : { "$date" : "2013-08-
 05T03:10:12.000Z"}}] , "relatedURLs" : [ { "url" : "http://t.co/swqP3FYQt5" 
 ,"expanded_url" : "http://ow.ly/nCkIS"}]}

谢谢。

4

1 回答 1

3

如果您跟踪您正在进行的迭代,您可以使用以下内容:

db.users.find().limit(100).skip(1200)

另一种解决方案可能是为每个条目添加一个“已处理”标志。默认为假。然后当你得到下一个 100 个处理为假的地方时执行 findAndModify,并将它们修改为现在为真。

于 2013-09-24T17:32:40.180 回答