PyMongo:如何在find()中将列表用作投影

时间:2018-11-13 09:55:24

标签: python mongodb pymongo

假设我有一个集合 coll ,我想使用PyMongo库中的find()函数从该集合中检索两个字段。我们将这些字段称为 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 :(得分:1)

您可以尝试将字段列表转换为这样的字典:

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