0
假設我有以下MongoDB的集合,我想找到他們ratings.by
爲ijk
的所有文件,並更新其評級至6在MongoDB中,如何查找和更新特定的數組元素?
換句話說,更新{ by: "ijk", rating: 4 }
到{ by: "ijk", rating: 6 }
。問題是我不知道這樣的數組元素的索引。
{
_id: 1,
item: "TBD",
stock: 0,
info: { publisher: "1111", pages: 430 },
tags: [ "technology", "computer" ],
ratings: [ { by: "ijk", rating: 4 }, { by: "lmn", rating: 5 } ],
reorder: false
}
我的問題:我應該怎麼寫的db.collection.update()
功能?這是我的失敗嘗試:
db.collection.update({
ratings.by: {
$elemMatch: {
$eq: 'ijk'
}
}
}, {
$set: {
// don't know which index to set. How should I modify this line?
ratings.rating: 6
}
}, {
multi: true
});