Я опубликую свой вариант использования здесь
[
{
"type": "space",
"selected": "p01",
"uuid": "3132ef1b-5778-4fd3-9b0f-fa5efa30bfa7"
"nested": [
{
"type": "wall",
"selected": "m01",
"uuid": "2f5ff537-10be-4777-b064-7a9c928e5b43",
"nested": []
},
{
"type": "wall",
"selected": "m02",
"uuid": "97699791-5b7d-43bd-add9-006c0fcfc5e7",
"nested": []
},
]
},
{
"type": "space",
"selected": "p02",
"uuid": "6c3ba43e-7ce5-41fe-afdb-ea63210bae5b",
"nested": []
}
]
В приведенном выше JSON я хочу обновить значение "selected" key на основе uuid(s) .
Например, я знаю путь uuid
, в котором я хочу изменить значение "selected" .Как uuid = "3132ef1b-5778-4fd3-9b0f-fa5efa30bfa7".nested[uuid = "97699791-5b7d-43bd-add9-006c0fcfc5e7"]
.
Так что, если он совпадает с путем, соответствующее значение "selected" должно быть изменено на некоторое желаемое значение.
Я хочу обновить это значение, написав запрос вpostgreSQL
.Для этого я выбрал JSONB
для обновления конкретного свойства.
Могу ли я написать выражения в пути для jsonb_set()
.Если нет, пожалуйста, дайте мне знать, есть ли другой способ обновить свойство до глубокого уровня, используя запрос к БД.
PS Я использую postgreSQL 9.6