【问题标题】:Pymongo - Exclude a field from results in a raw queryPymongo - 从原始查询的结果中排除字段
【发布时间】:2019-11-24 11:25:54
【问题描述】:

根据MongoEngine Docs on Raw Queries,在 Python 中获取对象集合时可以使用原始查询,如下所示:

Page.objects(__raw__={'tags': 'coding'})

使用此方法从结果中排除特定字段的示例是什么?

【问题讨论】:

    标签: python-3.x pymongo mongoengine


    【解决方案1】:

    您不能为此使用__raw__,您有两种选择:

    使用mongoengine,需要使用exclude

    Page.objects(__raw__={'tags': 'coding'}).exclude('field1', 'field2')
    

    使用 pymongo(底层驱动程序) - 但是您将无法遍历 mongoengine Page 实例,而只能遍历简单的 dict(即 pymongo 的输出):

    page_collection = Page._get_collection()
    query = page_collection.find({'tags': 'coding'}, {'field1': False, 'field2': False})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多