0
我試圖讓下面的工作,但$set
不工作。抓我的頭。正確的方式在Mongo中更新密鑰的值而不刪除舊值?
我們在蒙戈什麼:
{
_id: "123",
mechanics: {
engine: [
"129hp",
"300hp",
"500hp"
]
}
}
,我們有我們的JavaScript對象:
{
mechanics: {
brakes: [
"30cm",
"60cm",
"90cm"
]
}
}
你怎麼寫的更新查詢使蒙戈DOC這個樣子的?
{
_id: "123",
mechanics: {
engine: [
"129hp",
"300hp",
"500hp"
],
brakes: [
"30cm",
"60cm",
"90cm"
]
}
}
上mechanics
做$set
不起作用,因爲它會刪除engine
和brakes
補充道。
謝謝!是的,我想盡可能多 - 你必須找到一種方法來刪除'mechanics.brakes'對象的父鍵,或者只將值傳入Mongo操作。只是想知道在Mongo中是否有另一個操作符或者其他的操作符只是增加了值而沒有替換現有的值。 – fuzzybabybunny 2014-09-01 07:50:20
@fuzzybabybunny有[幾個更新操作符](http://docs.mongodb.org/manual/reference/operator/update-field/),它們都有不覆蓋文檔中其他現有字段的目的。但是,「點符號」與你想要更新的元素的完整路徑是你在這裏需要的。 – 2014-09-01 08:12:24