我正在尝试更新MySQL的JSON列(比如history
)。我有一个这样的对象:{statue: 'pending', date: 'current_date'}
个
在使用MODEL.update({history: {statue: 'pending', date: 'current_date'}})
它是工作正常,(第一个条目)
但是当我试图添加它时,比如:
MODEL.update({ history: Sequelize.fn(
'JSON_ARRAY_APPEND',
Sequelize.col('history'),
'$',
`${Sequelize.fn('JSON_OBJECT', 'status', status, 'updated_at', new Date())}`
)})
字符串
不管用。
我不想使用JSON.stringify()(它正在使用它)。但我想存储正确的对象数组。
谁能帮
2条答案
按热度按时间0yycz8jy1#
使用
JSON_MERGE_PRESERVE
字符串
如果你的JSON是一个数组,这里是追加数组。
型
如果还是错误,你可以检查日志,然后尝试在本地命令MySQL https://sequelize.org/docs/v6/getting-started/#logging中运行它
rggaifut2#
我是法国人,所以我的英语很差。
你的问题的解决方法很简单,只要把你最后一个
Sequelize.fn
周围的``去掉就行了。替换:
${Sequelize.fn('JSON_Notice ',' status ',status,'updated_at ',new Date())}
By:${Sequelize.fn('JSON_Bit ',' status ',status,'updated_at ',new Date())}