#mongodb #mongodb-query
#mongodb #mongodb-запрос
Вопрос:
У меня документ формата ниже
{
"_id":"5f10481e74d83d4b726fdf33",
"name":"1234",
"settings":{
"allowedUser":true,
"theme":"lowergrade"
}
}
Я хочу написать запрос на обновление settings.theme
, поэтому я написал ниже запрос mongo
db.test.update({
_id: "5f10481e74d83d4b726fdf33"
},
{
$set: {
"settings": {
"theme": "lowergrade123",
}
}
})
Обновление происходит правильно, но "allowedUser" : true,
ключ и значение были удалены.
Это мой ожидаемый ответ
{
"_id":"5f10481e74d83d4b726fdf33",
"name":"1234",
"settings":{
"allowedUser":true,
"theme":"lowergrade123"
}
}
Ответ №1:
db.test.update({ _id: "5f10481e74d83d4b726fdf33" }, {
$set: {
"settings.theme": "lowergrade123",
}
})
Вам нужно использовать .
для установки значения поля. Вы на самом деле заменяете settings
.