У меня есть экземпляр собственной ссылки в моем экземпляре couchbase 6.0.0, который может иметь произвольное количество уровней.
{
"branchEndDateTime": "2020-09-22 10:00 am",
"branchEndX": 0,
"branchId": "id-652c12fe-000e-4b42-a7e6-e4817d123456",
"branchName": "Root",
"branchStartDateTime": "1975-09-22 10:00 am",
"branchStartX": 0,
"children": [
{
"branchEndDateTime": "1984-09-22 10:00 am",
"branchEndX": 100,
"branchId": "id-15c1737f-1ab5-417e-b74c-14f3ee3f3461",
"branchName": "Test Child Level 1",
"branchStartDateTime": "1980-09-22 10:00 am",
"branchStartX": 0,
"children": [
{
"branchEndDateTime": "1984-09-22 10:00 am",
"branchEndX": 100,
"branchId": "id-15c1737f-1ab5-417e-b74c-14f3ee3f3467",
"branchName": "Test Child Level 2",
"branchStartDateTime": "1980-09-22 10:00 am",
"branchStartX": 0,
"children": [
{
"branchEndDateTime": "1984-09-22 10:00 am",
"branchEndX": 100,
"branchId": "id-15c1737f-1ab5-417e-b74c-14f3ee3fxxxx",
"branchName": "Test Child Level 3",
"branchStartDateTime": "1980-09-22 10:00 am",
"branchStartX": 0,
"children": [],
"type": "Branch"
}
],
"type": "Branch"
}
],
"type": "Branch"
}
],
"type": "Branch"
}
У каждого родителя есть дочерний фрагмент, а у каждого фрагмента есть идентификатор branchId
"branchId": "id-15c1737f-1ab5-417e-b74c-14f3ee3f3461",
Учитывая, что я знаю идентификатор ветви, есть ли способ обновить отдельное свойство для дочернего фрагмента?
пример : я хочу изменить значение branchName "Test Child Level 2" на "Custardy underpants Competition", если я знаю, что branchId равен "id -15c1737f-1ab5-417e-b74 c -14f3ee3f3467 "
Есть ли элегантное решение этой проблемы?
Я пробовал следующее, но не получается
UPDATE BucketName AS l
SET o.branchName ='Custardy underpants competition' FOR o IN l.children END
WHERE l.branchId = "id-15c1737f-1ab5-417e-b74c-14f3ee3f3467"
Большое спасибо!
Отзывы https://www.youtube.com/watch?v=RA68D8hOuSw