表test_js
的结构:
`id` int(11) unsigned NOT NULL AUTO_INCREMENT
`json` JSON
数据:
`id` `json`
`1` `[{"id": 1, "size": 1, "ver": 0},{"id": 2, "size": 3, "ver": 1},{"id": 1, "size": 3, "ver": 2}]`
`2` `[{"id": 1, "size": 3, "ver": 0}]`
`3` `[{"id": 1, "size": 2, "ver": 3}]`
我需要根据条件{“ id”:1,“ size”:3}返回经过过滤的对象数组
我尝试JSON_CONTAINS:
select `json`
from `test_js`
WHERE JSON_CONTAINS(`json`, JSON_OBJECT("id", 1, "size", 3), '$');
我得到:
[{"id": 1, "size": 1, "ver": 0}, {"id": 2, "size": 3, "ver": 1}, {"id": 1, "size": 3, "ver": 2}]
[{"id": 1, "size": 3, "ver": 0}]
但我需要这样:
[{"id": 1, "size": 3, "ver": 2}]
[{"id": 1, "size": 3, "ver": 0}]
是否存在JSON函数的任意组合以获取所需的结果?
当前版本-MariaDB 10.3.12