如何修改MongoDB文档中的"key"元素?
How to modify the "key" element in MongoDB document?
我的文档结构如下
[
{
"network_type": "ex",
"rack": [
{
"xxxx": {
"asn": 111111,
"nodes": {
"business": [
"sk550abcc1eb01.abc.com",
"sk550abcc1eb10.abc.com",
"sk550abcc1eb19.abc.com",
"sk550abcc1eb28.abc.com"
]
},
"region": "ex-01",
"zone": "01a"
}
}
]
}
]
我需要rename/update将键数组元素“xxxx”添加到“详细信息”。
我尝试了以下命令,但它似乎不起作用。
db.collection.update({},
{
$rename: {
"rack.xxxx": "details"
}
})
LINK : https://mongoplayground.net/p/9dcDP-VKZ55
请帮帮我。
不能直接$rename
数组中的字段名。
相反,
迭代 rank
数组中的文档,创建值为 xxxx
的 details
字段,然后将此字段附加到每个文档.
删除带有 $rank.xxxx
的路径以从 rank
数组中的文档中删除 xxxx
字段。
db.collection.update({},
[
{
$set: {
rack: {
$map: {
input: "$rack",
in: {
$mergeObjects: [
{
"details": "$$this.xxxx"
},
"$$this"
]
}
}
}
}
},
{
$unset: "rack.xxxx"
}
])
我的文档结构如下
[
{
"network_type": "ex",
"rack": [
{
"xxxx": {
"asn": 111111,
"nodes": {
"business": [
"sk550abcc1eb01.abc.com",
"sk550abcc1eb10.abc.com",
"sk550abcc1eb19.abc.com",
"sk550abcc1eb28.abc.com"
]
},
"region": "ex-01",
"zone": "01a"
}
}
]
}
]
我需要rename/update将键数组元素“xxxx”添加到“详细信息”。
我尝试了以下命令,但它似乎不起作用。
db.collection.update({},
{
$rename: {
"rack.xxxx": "details"
}
})
LINK : https://mongoplayground.net/p/9dcDP-VKZ55
请帮帮我。
不能直接$rename
数组中的字段名。
相反,
迭代
rank
数组中的文档,创建值为xxxx
的details
字段,然后将此字段附加到每个文档.删除带有
$rank.xxxx
的路径以从rank
数组中的文档中删除xxxx
字段。
db.collection.update({},
[
{
$set: {
rack: {
$map: {
input: "$rack",
in: {
$mergeObjects: [
{
"details": "$$this.xxxx"
},
"$$this"
]
}
}
}
}
},
{
$unset: "rack.xxxx"
}
])