【问题标题】:how update attribute in jsonb data column with postgres如何使用 postgres 更新 jsonb 数据列中的属性
【发布时间】:2019-03-04 20:10:15
【问题描述】:

嗨,我在 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 ,但我不知道如何访问深树

问候

【问题讨论】:

    标签: sql postgresql jsonb postgresql-9.5


    【解决方案1】:

    假设包含您的 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      相关资源
      最近更新 更多