我想編輯我的 mongodb 集合中的一個專案。
在我的資料庫中,我有一個具有以下值的“人”:
{
"_id": {Random Object Id},
"property": [{
"model": ["BMW", "Toyota", "Honda"],
"color": ["red", "blue", "yellow"],
}, {
"model": ["Test0", "Test1", "Test2"],
"color": ["black", "blue", "brown"],
}]
}
這里的“屬性”是一個陣列,有 2 個物件。此外,所有這些都應該井井有條。我想更改第二個物件中的一個值。第二個物件應該像
"model": ["Test0", "Test1", "Test2"],
"color": ["black", "red", "brown"],
如何在我的快遞服務器中應用這種代碼,以及如何將“紅色”顏色放入第二個元素?
personModel.findByIdAndUpdate({_id: req.session.person._id}, {$set: {
`property.$[index].color` : "red"}})
uj5u.com熱心網友回復:
如果您知道索引,您可以手動定義它:
db.collection.updateOne(
{_id: req.session.person._id},
{
"$set": {
"property.1.color.1": "red"
}
})
蒙戈游樂場
如果要更改特定顏色,則應使用更新arrayFilters選項,如下所示:
db.collection.updateOne(
{_id: req.session.person._id},
{
"$set": {
"property.1.color.$[elem]": "red"
}
},
{
arrayFilters: [
{
elem: "blue"
}
]
})
蒙戈游樂場
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422735.html
標籤:
上一篇:可以在ejs中動態創建整個表嗎?
下一篇:NodeJS靜態函式不是函式
