【问题标题】:Pymongo access specific field value within nested dictPymongo 访问嵌套字典中的特定字段值
【发布时间】:2020-01-13 18:38:59
【问题描述】:

在 Pymongo 应用程序中,在遍历集合的每个文档时,如何访问 JSON 结构的特定字段值?

{
  "_id": {
        "$oid": "5e1c2b0bacbdaehujjjbdsh"
       },
  "a": {
        "data_type": "abc",
        "data_format": "xyz",
        "data_version": "1",
       },
  "b": "123",
  "c": "345"
}

基于以下代码sn-p,我如何访问与嵌套在键'a'中的键'data_format'关联的值---

  for document in col.find():
      data_format_val = document['a']['data_format']  # not working

Mongodb 查询命令相对较新。

【问题讨论】:

  • find 返回数组 document[0]['a']['data_format'] 或使用 findOne
  • 正确。但是我不能使用 findOne,因为我需要集合的每个文档的 'data_format' 值。
  • 您的代码 sn-p 看起来是正确的,假设集合中的每条记录的结构都相同。你遇到了什么错误?

标签: mongodb pymongo


【解决方案1】:

集合的某些文档可能没有键“a”。

尝试使用 $exists 来确保该字段如下所示:语法:{ field: { $exists: } }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-20
    • 2012-07-26
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2021-11-09
    相关资源
    最近更新 更多