我的问题是关于在 mysql 的 JSON 数据类型中搜索时搜索 json 数组的内容。
数据库结构
所以,如果我在 mysql 表中有两行,带有一个 json 字段,称为foo
.
第一行有:
{
"items": [
{"type": "bar"}
]
}
第二行有:
{
"items": [
{"type": "baz"}
]
}
有效的东西
我可以跑
select `foo`->"$.items[0].type" from `jsontest`
返回 2 个结果:bar
和baz
我可以跑
select `id` from `jsontest` where `foo`->"$.items[0].type" = "bar"
返回 1 个结果:1
- 即。第一行的id。
我的问题
mysql 文档声明您可以使用“[*]
评估 JSON 数组中所有元素的值”。
但是,以下查询返回零项:
select `id` from `jsontest` where `foo`->"$.items[*].type" = "bar"
我的查询有什么问题?