PyMongo: как использовать список в качестве проекции в find () - PullRequest
0 голосов
/ 13 ноября 2018

Допустим, у меня есть коллекция coll , и я хочу получить два поля из этой коллекции, используя функцию find () из библиотеки PyMongo.Давайте назовем эти поля field_1 и field_2 .

Стандартный способ сделать это:

coll.find({}, {'field_1': 1, 'field_2': 1})

Теперь у меня есть эти поля всписок fields_list .Можно ли сделать что-то вроде:

coll.find({}, fields_list)

Я не могу найти никакой информации в официальной документации и сомневаюсь, что я первый, кто подумает об этом.

МойПервым предположением было просмотреть список и создать длинную строку: «field_1: 1, field_2: 1», но это, очевидно, не работает, потому что двоеточие и «1» не должны быть в строке для find ()функция для понимания запроса.

Кто-нибудь знает, как использовать список в запросе проекции?

1 Ответ

0 голосов
/ 13 ноября 2018

Вы можете попробовать преобразовать список полей в диктовку следующим образом:

coll.find({}, {field: 1 for field in field_list})
...