例如,如果我想在MySQL查询中执行以下操作:
update foo set bar = bar + ?;
我如何使用Bookshelf.js模型实现这一目标?
答案 0 :(得分:4)
我不确定你的意思是原子,也许交易?你可以在书架上做到这一点,有关于它的整个部分:http://bookshelfjs.org/#Bookshelf-transaction
但是,如果您只是尝试更新字段,则可以按照以下方式轻松完成:
var idStationIWantToUpdate = 1;
new Station({'id': idStationIWantToUpdate}).save({
route_name: 'my updated route name'
}).then(function(station) {
res.json(station.toJSON());
});
重要的是您使用相应的ID实例化模型,然后当您调用save
时,它会自动更新现有记录。
答案 1 :(得分:2)
我无法按预期工作,但knex查询构建器库(http://knexjs.org/#Builder-increment)中有一个>>> User.objects.create(username=u"___", email="lorem@example.com")
方法,这是bookshelf.js中此功能的基础引擎
我最终做的是:
increment