Самый быстрый способ массовой вставки в Pymongo - PullRequest
0 голосов
/ 09 января 2019

Я запрашиваю коллекцию Монго за определенный промежуток времени и хочу отправить вывод в новую коллекцию. Я использую batchSize, чтобы уменьшить количество сетевых операций при запросе данных. Я пытаюсь понять наиболее оптимальный способ вставить запрашиваемый размер пакета в мою новую коллекцию. Я думал об использовании insert_many() в качестве одного из вариантов, но эта страница объясняет, что это эквивалентно использованию insert() в pymongo v3 и выше. Массовые вставки Pymongo не работают

Существуют ли другие способы, с помощью которых я оптимизирую, используя запросы и операции вставки? Вот мой пример кода:

def main():
    client = MongoClient('mongodb://somelocal:27017')
    gdb = 'test_db'
    global_mdb = client[gdb]
    prod_data = global_mdb["test_collection"].find({'first_seen_on': {'$gt': 1541030400, '$lt': 1541116799}})
    prod_data.batch_size(10000)

    collection = global_mdb['temp_2']
    collection.insert_many(prod_data)


main()
...