如何在Sequelize中使用MySQL JSON数据类型

chr*_*ron 5 sequelize.js mysql-5.7

我正在尝试将MySQL 5.7与Sequelize一起使用,并且我想对表中的attributes字段使用JSON数据类型users来跟踪用户属性,例如home_phone,mobile_phone,work_phone,address和每个用户可能会使用的其他一些属性/设置或可能没有。

我已经能够在此处找到用于执行选择的文档:http : //docs.sequelizejs.com/manual/tutorial/querying.html#json

我正在努力寻找有关如何执行创建,更新和删除的文档。

我想我总是可以做一个原始查询,但是有没有一种续集的方式来做到这一点?

更新1

我专门在寻找如何在续集中执行如下查询:

update Users 
set user_attributes = JSON_SET(user_attributes, "$.phone", "5554443333") 
where id=7;
Run Code Online (Sandbox Code Playgroud)

小智 5

使用Sequelize.fn方法:

User.update({
  user_attributes: Sequelize.fn("JSON_SET", Sequelize.col('user_attributes'), "$.phone", "5554443333")
}, {
  where: {id: 7}
})
Run Code Online (Sandbox Code Playgroud)