在我的資料庫中,我的資料存在于單級結構中。但是,我最近進行了更改,現在需要將其中一個屬性轉換為現有資料的嵌套物件。
查詢和更新這些現有記錄的最佳方法是什么?
舊結構:
{
"id": "xxx",
"address": {
"city": "Some City",
"state": "AK",
"zip": "55555"
},
"type": "customer"
}
新結構(需要將舊結構更新成這個樣子)
{
"id": "xxx",
"address": {
"current": {
"city": "Some City",
"state": "AK",
"zip": "55555"
}
},
"type": "customer"
}
在上面的例子中,我想更新每個人的地址以添加與current屬性的額外嵌套層。
uj5u.com熱心網友回復:
您需要使用聚合管道進行更新。
$set-address.current用address值設定欄位。$unset-從欄位中洗掉city,state,zip欄位address。
db.collection.update({},
[
{
$set: {
"address.current": "$address"
}
},
{
$unset: [
"address.city",
"address.state",
"address.zip"
]
}
],
{
multi: true
})
示例 Mongo Playground
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/329201.html
標籤:MongoDB
