【发布时间】:2019-06-06 12:19:03
【问题描述】:
假设我有以下 MySQL 表结构:
================================================ =========== |编号 |姓名 |地址 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++
| 1 |黎明 | {“州”:“马里兰”,“城市”:“安纳波利斯”} |
| 2 |巴勃罗| {“州”:“俄亥俄”,“城市”:“哥伦布”} |
地址栏为json类型。我在我的应用程序中使用书架和 knex ORM,我需要进行查询,以便它可以获取名称和不带城市的州名。 我的普通 SQL 查询将如下所示:
选择名称,地址->“$.state” 来自用户
或
选择名称,json_extract(地址,“$.state”) 来自用户
但是当我使用 Bookshelf 时: user.select('name', 'address->"$.state"').fetch().then(....)
由于引号和反引号格式,我在 SQL 命令中收到无效错误。 使用书架生成的SQL如下:
select 'address->\" '.'state\" ', 'name' from `user.
有什么建议可以避免点(.)字符周围的反引号问题吗?还是其他方法??
PS:这只是一个例子
【问题讨论】:
-
@andrewmclagan 你在这里可能会有所帮助!!
标签: mysql node.js orm knex.js bookshelf.js