【问题标题】:PyMongo: How to use a list as a projection in find()PyMongo:如何在 find() 中使用列表作为投影
【发布时间】:2018-11-13 18:22:47
【问题描述】:

假设我有一个集合coll,我想使用 PyMongo 库中的 find() 函数从这个集合中检索两个字段。我们将这些字段称为 field_1field_2

标准的做法是:

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

现在,我将这些字段放在列表 fields_list 中。是否可以做类似的事情:

coll.find({}, fields_list)

我在官方文档中找不到任何信息,我怀疑我是第一个考虑这样做的人。

我的第一个猜测是遍历列表并创建一个长字符串:“field_1:1,field_2:1”但这显然不起作用,因为冒号和“1”不应该在字符串中find() 函数来理解查询。

有人知道如何在投影查询中使用列表吗?

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-01-18
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 2017-06-17
      相关资源
      最近更新 更多