Да, ваш подход верен.
Поскольку вы спрашиваете об эффективности, помните, что при оптимизации операций чтения для повышения производительности вы можете захотеть прочитать только те атрибуты, которые вам нужны.Если определенные атрибуты ваших документов велики, это может значительно снизить затраты на ввод-вывод (передача данных с сервера на клиент).Например, если ваш документ имеет 20 атрибутов, но вы используете только 5 из них, не тяните остальные 15 по проводам.В pymongo это можно сделать с помощью необязательного параметра fields
функции collection.find
.Очевидно, что здесь необходимо сбалансировать производительность с обслуживаемостью кода, поскольку перечисление атрибутов увеличивает затраты на обслуживание.
Дополнительные рекомендации по оптимизации доступны в официальных документах .Их список включает в себя «Оптимизация № 3: выберите только соответствующие поля», и это то, о чем я говорил выше.