1
我與value
以下架構爲JSON類型問題與陣列搜索對象的屬性JSON數據類型
mysql> select * from people;
+------+---------------------------------------------------------------------------+
| id | value |
+------+---------------------------------------------------------------------------+
| blah | {"key1": "value1", "key2": "value2"} |
| foo | {"key1": "value1", "friends": [{"friendId": "123"}, {"friendId": "foo"}]} |
+------+---------------------------------------------------------------------------+
我希望下面的查詢返回我行foo
,但事實並非如此。
mysql> select * from people where value->'$.friends[*].friendId' = "123";
Empty set
條件value->'$.friends[*].friendId'
似乎有效,因爲它適用於下面的查詢:
mysql> select value->'$.friends[*].friendId' from people;
+---------------------------------+
| value->'$.friends[*].friendId' |
+---------------------------------+
| NULL |
| ["123", "foo"] |
+---------------------------------+
那麼怎麼來查詢select * from people where value->'$.friends[*].friendId' = "123";
回報沒有結果?