大家好,正在为这个更新而挣扎的人们,任何人都可以在这里提供帮助
"sheet_types": [
{
"areas": [
"FRONT",
"SIDE",
"UPPER"
]
}
]
}
我需要在此处将UPPER的值更新为TOP
我已尝试过此查询
db.company_settings.updateOne(
{"sheet_types.areas": "UPPER" },
{ $set: { "sheet_types.$.areas" : "TOP" } })
但我得到的结果是
{
"sheet_types": [
{
"areas": [
"TOP"
]
}
]
}
1条答案
按热度按时间lrl1mhuk1#
使用“arrayFilters”似乎最适合此用例:
解释道:
添加arrayFIlter,其中一个筛选器元素等于需要替换的值,使用此筛选器替换update语句中的值。此选项的优点是它将替换文档中与筛选条件匹配的所有匹配值。
playground