【发布时间】:2017-05-09 15:33:10
【问题描述】:
我已经通过 brew 安装了带有 JSON1 的 SQLite3:
brew install sqlite3 --with-json1 --with-fts5
版本:
3.15.2 2016-11-28 19:13:37 bbd85d235f7037c6a033a9690534391ffeacecc8
在运行查询时,某些函数可以正常工作,例如json_extract:
sqlite> SELECT json_extract(Body, '$.issue.fields.labels') FROM Event WHERE json_extract(Body, '$.issue.fields.labels') != '[]';
["foo","bar","baz"]
但是,当我尝试使用json_each 或json_tree 时,它会失败:
sqlite> SELECT json_each(Body, '$.issue.fields.labels') FROM Event WHERE json_extract(Body, '$.issue.fields.labels') != '[]';
Error: no such function: json_each
Event 表中的Body 字段是有效的 JSON 字符串:
{"issue":{"fields":{"labels": ["foo","bar","baz"]}}}
而labels 的值是一个数组。
我已阅读文档(并查看了json_each examples),搜索了互联网,但找不到任何其他要求来启用此功能。
我做错了什么,或者:我如何从 json_each/json_tree 中获益?
【问题讨论】:
-
对于现在遇到此问题的任何人,sqlite 公式现在包括 JSON1 和 FTS,因此您不需要标志。那里的当前版本的 sqlite(运行 MacBook Pro 2019)是 3.32.3 2020-06-18。
标签: node.js sqlite sqlite-json1