Update on condition

Hi @flaviu,

You are almost close. You can use MERGE, because no UPDATE JOINS.
Change USING subquery that generates id, val instead of OBJECT

MERGE INTO default AS m
USING (SELECT "meta:"|| d3.uuid AS id,  d2.chart_data.[SUBSTR(META(d3).id, 4)] AS val
       FROM (SELECT d1.chart_data FROM default AS d1 USE KEYS "DOCUMENT 1 KEY") AS d2
       JOIN default AS d3 ON KEYS (ARRAY "app:"|| v FOR v IN OBJECT_NAMES(d2.chart_data) END)) AS s
ON KEY s.id
WHEN MATCHED THEN UPDATE SET m.`value` = s.val WHERE m.`value` < s.val;