我正试图将一个对象字段转换成包含该对象的数组。将planner对象移除一层并将其放入planner数组:
"planner": {
"code": "12345",
"name": "Person"
}
->
"planners": [
{
"code": "12345",
"name": "Person"
}
]
应该能够创建一个名为planner的新数组字段,然后删除旧的planner对象字段。尝试找出使用另一个对象字段的现有属性创建此新数组字段的语法。尝试类似于以下内容:
db.example.find({ }).forEach(function(a) {
a.planners = [
{
"code": a.planner.code,
"name": a.planner.name
}
]
db.example.save(a)
})
最后以移除
db.example.updateMany(
{ },
{ $unset: { planner: "" } }
)
这只是在执行时返回undefined.有什么建议吗?
1条答案
按热度按时间ioekq8ef1#
使用MongoDB v4.2+,您只需使用一个数组 Package
$set
planner
。Mongo Playground