Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 如何检查postgres中jsonb数组中包含的字段_Postgresql - Fatal编程技术网

Postgresql 如何检查postgres中jsonb数组中包含的字段

Postgresql 如何检查postgres中jsonb数组中包含的字段,postgresql,Postgresql,我的表格包含一个名为“actions”的列,它属于jsonb类型: CREATE TABLE wealth_rule ( id serial NOT NULL PRIMARY KEY, -- '自增id', actions jsonb, -- 对应的路由,数组 ... ); “操作”列包含以下数据: ["/qa/favorite", "/user/update"] 现在我必须检查哪一行包含操作“user/update” 如何查找该行?您应该在jsonb列中测试: SE

我的表格包含一个名为“actions”的列,它属于
jsonb
类型:

CREATE TABLE wealth_rule (
    id serial NOT NULL PRIMARY KEY, -- '自增id',
    actions jsonb, -- 对应的路由,数组
    ...
);
“操作”列包含以下数据:

["/qa/favorite", "/user/update"]
现在我必须检查哪一行包含操作“user/update”

如何查找该行?

您应该在
jsonb
列中测试:

SELECT *
FROM wealth_rule
WHERE actions @> '["/user/update"]'::jsonb;
您应该在
jsonb
列中测试:

SELECT *
FROM wealth_rule
WHERE actions @> '["/user/update"]'::jsonb;