【问题标题】:mongodb add a new field to an existing array with pythonmongodb使用python向现有数组添加一个新字段
【发布时间】:2020-12-08 18:10:05
【问题描述】:

数据库中的集合:

'_id' : ObjectId("sdhsndi66822dsxsd"),
'values' : {
        "ping" : [ 
            {
                "key" : "5ef9ac6eb1272e16729b17f6",
                "name" : "sdsadsadsa"
            },
           {
                "key" : "5ef9ac6eb1272e16729b17f6",
                "name" : "sdsadsadsa"
            }
              ]
           }

这里我需要添加/更新一个新的键值对。所以预期的输出应该是:

'_id' : ObjectId("sdhsndi66822dsxsd"),
    'values' : {
            "ping" : [ 
                {
                    "key" : "5ef9ac6eb1272e16729b17f6",
                    "name" : "sdsadsadsa",
                    "new":"added_new"
                },
               {
                    "key" : "5ef9ac6eb1272e16729b17f6",
                    "name" : "sdsadsadsa",
                    "new":"added_new"
                }
                  ]
               }

我需要使用 pymongo 来实现这一点(mongo 查询也很有帮助)。我曾尝试使用 $addtoset 但没有帮助。

【问题讨论】:

  • 如果您的回答对您有帮助,请勾选并投票以帮助寻求此类问题的人

标签: python sql mongodb pymongo robo3t


【解决方案1】:

您可以使用$addFields

[
  {
    $addFields: {
      "values.ping.new": "added_new"
    }
  }
]

工作Mongo playground

【讨论】:

    猜你喜欢
    • 2020-06-29
    • 2023-02-14
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 2017-03-12
    相关资源
    最近更新 更多