【问题标题】:PyMongo query with projection带有投影的 PyMongo 查询
【发布时间】:2014-05-11 05:51:06
【问题描述】:

db.collection.find(criteria, projection) 的 PyMongo 方式是什么。我找不到任何文档来指定对 collection.find() 方法的投影

【问题讨论】:

    标签: pymongo


    【解决方案1】:

    等于mongo shell,但""之间的condition

    db.foo.find({"field1.field2":123},{"field1":{"$elemMatch":{"field2":123}}})
    
    db.foo.update({"_id":3,"field1.field2":1},{"$set":{"field1.$.field2":2}})
    

    或者如果你的意思是投影显示任何字段,等于mongo shell

    db.foo.find({"field1.field2":123},{"field1.field2":1, "_id":1})
    

    【讨论】:

    • 这里放一个例子,带有变量插值,在 Python 中非常有用,也适用于您将对象存储在变量中的情况,您想在投影中使用它,例如,和对象的数据来自美国的一个州存储在var_state 变量:db.foo.find({"country":"USA" }, {f"states.{var_state}": 1, "_id": False})
    【解决方案2】:

    projection(可选):应在结果集中返回的字段名称列表或指定要包含或排除的字段的字典。如果投影是一个列表“_id”将始终返回。使用 dict 从结果中排除字段(例如,projection={‘_id’: False})。

    here了解更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-26
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 2012-12-28
      • 1970-01-01
      • 2015-05-29
      相关资源
      最近更新 更多