嗨,我在postgres的jsonb列中有此结构
{
"cronograma_actividades": {
"section_template_id": 5,
"ciclos": [
{
"ciclo_verano": {
"nro_semanas_max": 9,
"programas": [
{
"pregrado": {
"modalidades": [
{
"type": "presencial",
"codigo_formula": "FOR2234",
"unidades": [
{
"nro": 1,
"titulo": "Unidad aprendi",
"logro": "Logro de una unidad es texto",
"semanas": [
]
},
{}
]
},
]
}
所以我如何用postgres更新字段codigo_formula,此列是jsonb类型 我找到了json_object_set_path,但是我不知道如何访问深树
致谢
答案 0 :(得分:0)
假设包含jsonb的列称为“ testcol”,则可以执行以下操作:
update t_test set testcol = jsonb_set(testcol, '{cronograma_actividades,ciclos,0,ciclo_verano,programas,0,pregrado,modalidades,0}', jsonb('{"cordigo_formula":"new value"}'), false);
0值指示数组中的位置。实际上这里有an impressive post about json(b) in postgresql that you might want to read。