如何在 Sequelize 中使用 MySQL JSON 数据类型
Posted
技术标签:
【中文标题】如何在 Sequelize 中使用 MySQL JSON 数据类型【英文标题】:How to use MySQL JSON datatype with Sequelize 【发布时间】:2018-09-14 12:22:10 【问题描述】:我正在尝试将 mysql 5.7 与 Sequelize 一起使用,并且我想使用我的 users
表上的 attributes
字段的 JSON 数据类型来跟踪用户属性,例如 home_phone、mobile_phone、work_phone、address 和每个用户可能拥有或不拥有的其他几个属性/设置。
我已经能够在此处找到执行选择的文档:http://docs.sequelizejs.com/manual/tutorial/querying.html#json。
我正在努力寻找有关如何执行创建、更新和删除的文档。
我想我总是可以只做一个原始查询,但是有没有后续的方法可以做到这一点?
更新 1
我正在专门寻找如何在 sequelize 中执行这样的查询:
update Users
set user_attributes = JSON_SET(user_attributes, "$.phone", "5554443333")
where id=7;
【问题讨论】:
【参考方案1】:使用Sequelize.fn方法:
User.update(
user_attributes: Sequelize.fn("JSON_SET", Sequelize.col('user_attributes'), "$.phone", "5554443333")
,
where: id: 7
)
【讨论】:
以上是关于如何在 Sequelize 中使用 MySQL JSON 数据类型的主要内容,如果未能解决你的问题,请参考以下文章
如何在 mysql Sequelize 实例中拥有数组的数据类型?
sequelize.js - 你需要手动安装 mysql 包
如何使用 sequelize 和 mysql 创建一对一的关系?
如何在 sequelize 标准 createdAt 字段中使用毫秒?