MongoDB collection.find () для возврата фрагментов n документов - PullRequest
0 голосов
/ 22 апреля 2019

Скажем, у меня есть БД 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 элементов, или мне нужно написать пользовательскую функцию?

Я прочитал этот вопроси я полагаю, я мог бы сделать что-то вроде:

n = 100
next = True
while next:
    l = [x for _, x in zip(range(n), start_items)]
    if l:
        work(l)
    else:
        next = False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...