MongoDB collection.find()返回n个文档的大块

时间:2019-04-22 12:39:01

标签: mongodb loops iterator

说我有一个2 million个文档的数据库,我想遍历所有文档。我想一次处理n批文档,因为我使用的是这样的函数:

def work(self,items):
    self.drivers = [webdriver.Chrome() for x in list(range(3))]
    tasks = [self.executor.submit(self.parse_url, self.rnd_driver(), item['Link']) for item in items]
    for task in concurrent.futures.as_completed(tasks):
        print(task.result())
        return task.result()

类似的东西:

items = collection.find()
work(items)

不起作用,我将用光内存。 光标是否有内置方法可以返回n个元素的批处理?还是我必须编写自定义函数?

我读了this问题,我认为我可以做类似的事情:

n = 100
next = True
while next:
    l = [x for _, x in zip(range(n), start_items)]
    if l:
        work(l)
    else:
        next = False

0 个答案:

没有答案