Pen*_*ica 8 postgresql node.js sequelize.js jsonb
我正在使用sequelize(v3.12.2),pg(4.4.3),PostgreSQL(v9.4)和Node(v4.1.2)。
我有一个包含JSONB数据类型字段的模型。
var User = {
data: {
type: Sequelize.JSONB
}
Run Code Online (Sandbox Code Playgroud)
现在我可以做
User.findOne({where: {id: 12345}})
.update({data: {x: 'foo'}});
Run Code Online (Sandbox Code Playgroud)
和
User.findOne({where: {id: 12345}})
.update({'data.y': 'bar'});
Run Code Online (Sandbox Code Playgroud)
现在,如果我只想删除该data.x属性,如何用一个命令删除它?
User.findOne({where: {id: 12345}})
.update({'data.x': null});
Run Code Online (Sandbox Code Playgroud)
显然不起作用。实际上,结果数据对象应为:
{y: 'bar'}
Run Code Online (Sandbox Code Playgroud)
并不是:
{x: null, y: 'bar'}
Run Code Online (Sandbox Code Playgroud)
如何使用Sequelize做到这一点?谢谢你的帮助!
我认为下面应该有效
User.findOne({where: {id: 12345}})
.update({'data': sequelize.literal("data - 'x' ")});
Run Code Online (Sandbox Code Playgroud)
还没有测试过,但如果不起作用请告诉我。解决方案将仅沿着这些思路
| 归档时间: |
|
| 查看次数: |
817 次 |
| 最近记录: |