【发布时间】:2016-01-19 09:43:44
【问题描述】:
我正在使用sequelize (v3.12.2)、pg (4.4.3)、PostgreSQL (v9.4) 和 Node (v4.1.2)。
我有一个包含 JSONB 数据类型字段的模型。
var User = {
data: {
type: Sequelize.JSONB
}
现在我可以了
User.findOne({where: {id: 12345}})
.update({data: {x: 'foo'}});
和
User.findOne({where: {id: 12345}})
.update({'data.y': 'bar'});
现在,如果我只想删除 data.x 属性,如何在一个命令中完成?
User.findOne({where: {id: 12345}})
.update({'data.x': null});
显然不起作用。实际上,生成的数据对象应该是:
{y: 'bar'}
而不是:
{x: null, y: 'bar'}
如何使用 Sequelize 做到这一点?感谢您的帮助!
【问题讨论】:
-
您找到解决方案了吗?
-
我认为在“jsonb”字段中恢复整个json对象更容易..(但可能不是那么有效)
标签: node.js postgresql sequelize.js jsonb