如何将 MongoDB 文档字段移动到对象数组?

问题描述

给定类似于以下文档的文档集合

{
    "_id": {
        "$oid": "60582f08bf1d636f4b762ebc"
    }
    "experience": [{
        "title": "Senior Customer Success Account Manager","company": "Microsoft","tenure": 8
    },{
        "title": "Senior Service Delivery Manager","tenure": 34
    }],"company3": "Oracle","tenure3": 10,"title3": "Senior Customer Success Manager - EMEA |Oracle Marketing Cloud"
}

我将如何编写 updateMany 或其他 shell 命令以将 company3、tenure3 和 title3 作为新对象移动到体验数组中 {company: <company3 value>,title: <title3 value>,tenure: <tenure3 value>}

解决方法

您似乎正在寻找此聚合更新:

db.collection.update({},[
  {
    $set: {
      experience: {
        $concatArrays: [
          "$experience",[
            {
              company: "$company3",title: "$title3",tenure: "$tenure3"
            }
          ]
        ]
      }
    }
  },{
    $unset: "company3"
  },{
    $unset: "tenure3"
  },{
    $unset: "title3"
  }
],{
  multi: true
})

游乐场:https://mongoplayground.net/p/xoEveE0rdBN

相关问答

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