mongodb使用python向现有数组添加新字段

问题描述

数据库中的集合:

'_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","new":"added_new"
                }
                  ]
               }

我需要用pymongo实现这一点(mongo查询也有帮助)。我曾尝试使用$ addtoset,但无济于事。

解决方法

您可以使用$addFields

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

工作Mongo playground

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...