Я использую запрос агрегации для объединения двух таблиц и вставки вывода в новую коллекцию.
Две коллекции насчитывают более 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 этапов, которые оптимизированы, но выходные данные агрегированного запроса должны быть вставлены в новую коллекцию.
Есть ли другой способ, которым я могу быстро читать и вставлять данные в новую коллекцию.