【发布时间】:2021-10-09 23:06:13
【问题描述】:
我将以下数据定义为 jsonb。
{
"rules":[
{
"group":"identifier",
"logic":"=",
"value":"token",
"fieldId":"vfde_0010"
},
{
"rules":[
{
"group":"identifier",
"logic":"=",
"value":"111",
"fieldId":"vfde_0011"
}
],
"condition":"and"
}
],
"version":"v_0021",
"category":"mobile",
"condition":"and",
"createdAt":"2020-01-17T03:13:42Z"
}
然后我想将这个新的 jsonb 数据包含在上面。
{
"rules":[
{
"group":"identifier",
"logic":"=",
"value":"msisdn-sha2",
"fieldId":"vfde_0010"
}
],
"condition":"and"
}
结果会是这样。
{
"rules":[
{
"group":"identifier",
"logic":"=",
"value":"token",
"fieldId":"vfde_0010"
},
{
"rules":[
{
"group":"identifier",
"logic":"=",
"value":"111",
"fieldId":"vfde_0011"
}
],
"condition":"and"
},
{
"rules":[
{
"group":"identifier",
"logic":"=",
"value":"msisdn-sha2",
"fieldId":"vfde_0010"
}
],
"condition":"and"
}
],
"version":"v_0021",
"category":"mobile",
"condition":"and",
"createdAt":"2020-01-17T03:13:42Z"
}
我尝试使用 ||运算符,但我对结果感到困惑:(data->>'rules' || new)。
[
{
"group":"identifier",
"logic":"=",
"value":"token",
"fieldId":"vfde_0010"
},
{
"rules":[
{
"group":"identifier",
"logic":"=",
"value":"111",
"fieldId":"vfde_0011"
}
],
"condition":"and"
}
]{
"rules":[
{
"group":"identifier",
"logic":"=",
"value":"msisdn-sha2",
"fieldId":"vfde_0010"
}
],
"condition":"and"
}
是我使用了错误的运算符还是有其他正确的方法可以做到这一点?
我使用 PostgreSQL 12.1
【问题讨论】:
标签: postgresql jsonb