【问题标题】:Pymongo Query with Dictionary inside Dictionary?Pymongo 查询与字典内的字典?
【发布时间】:2015-09-29 08:52:57
【问题描述】:

我在 MongoDB 中有这样的文档:

{"ONE": {"TWO": {"THREE":"5"}}}

我想使用 Pymongo find API 查询 mongoDb,但它不起作用:

for value in dbaccess.find({"ONE":{"TWO":{"THREE":{"$gt":"0"}}}}):
     print value

上面的代码没有打印任何内容。

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    两件事:

    1. 如果要将文档中的 5 视为整数,请不要将其括在双引号中。
    2. 使用点表示法查询嵌套文档:

      dbaccess.find("ONE.TWO.THREE": {"$gt": 0})

    【讨论】:

    • 优秀!!!多谢。另一个问题......如果我想得到所有值的总和......我们有办法得到它吗?例如...如果我有多个这样的文档,我的目标是获取所有 ONE.TWO.THREE 值的总和....是否可以从 pymongo API 获取它?可以找到或任何其他帮助我吗?
    • 参见here讨论的集合的分组方法。
    • 再次感谢您。再问一个问题..:-) 我遇到了一个奇怪的情况..您建议查询为“ONE.TWO.THREE”,但在某些文档中,“TWO”可以是其他任何内容:-( ....我试图使用 reqx 并给出 * 而不是两个但没有用:-(
    • 如果我在“TWO”中有多个项目怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 2021-07-02
    • 2012-03-13
    • 2015-11-28
    • 2017-02-05
    相关资源
    最近更新 更多