MySQL JSON_EXTRACT通配符字段名称匹配

时间:2018-01-18 14:29:21

标签: mysql json

我在MySQL JSON FIELD中有以下JSON数据

{"Session0":[{"r_type":"main","r_flag":"other"},{"r_type":"sub","r_flag":"kl"}],
"Session1":[{"r_type":"up","r_flag":"p2"},{"r_type":"id","r_flag":"mb"}],
"Session2":[{"r_type":"main","r_flag":"p2"},{"r_type":"id","r_flag":"mb"}]}

现在,我希望搜索r_type =“main”的所有会话。会话编号可能会有所不同,因此我无法使用OR查询。所以,我需要这样的东西:哪里

JSON_EXTRACT(field,"$.Session**[*].r_type")="main"

但这似乎不起作用。我需要能够在属性的名称中使用通配符,然后在数组中搜索其中的属性。我该怎么做?

以下工作,但这限制了我们拥有无限会话号码的能力。

SELECT field->"$.Session1[*].r_type" from table

0 个答案:

没有答案