我在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