Сводный запрос Pymongo выполняется бесконечно - PullRequest
0 голосов
/ 23 сентября 2019

Я использую запрос агрегации для объединения двух таблиц и вставки вывода в новую коллекцию.

Две коллекции насчитывают более 1 миллиона записей.Запрос возвращает значение в течение 2 минут в командной строке, но выполняется на неопределенном этапе ниже этапа.

result = list(db.insight_assets.aggregate(pipeline))
temp = []
count = 0
batch = 0
for doc in result:
    count += 1
    temp.append(doc)
    if count == 5000:

        db.insight_temp_uber.insert_many(temp)
        batch += 1
        print("Batch:", batch)
        count = 0
        temp.clear()   

Запрос занимает много времени для преобразования курсора в список (для миллионов записей)

list (db.insight_assets.aggregate (pipe))

Конвейерный запрос состоит из 5-6 этапов, которые оптимизированы, но выходные данные агрегированного запроса должны быть вставлены в новую коллекцию.
Есть ли другой способ, которым я могу быстро читать и вставлять данные в новую коллекцию.

...