首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Bookshelf.js模型进行原子更新?

如何使用Bookshelf.js模型进行原子更新?
EN

Stack Overflow用户
提问于 2015-06-28 03:49:39
回答 2查看 4.1K关注 0票数 3

例如,如果我想在MySQL查询中执行如下操作:

代码语言:javascript
复制
update foo set bar = bar + ?;

如何使用Bookshelf.js模型实现这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-29 11:44:02

我不太清楚你所说的原子,也许是交易是什么意思?你可以在书架上这样做,它有一个完整的部分:http://bookshelfjs.org/#Bookshelf-transaction

但是,如果您只是想更新一个字段,您可以这样做,如下所示:

代码语言:javascript
复制
var idStationIWantToUpdate = 1;
new Station({'id': idStationIWantToUpdate}).save({
    route_name: 'my updated route name'
}).then(function(station) {
    res.json(station.toJSON());
});

重要的是用相应的ID实例化一个模型,然后当调用save时,它会自动更新现有的记录。

票数 4
EN

Stack Overflow用户

发布于 2016-07-17 18:17:49

我无法像我所期望的那样让它工作,但是knex库(http://knexjs.org/#Builder-increment)中有一个http://knexjs.org/#Builder-increment方法,它是bookshelf.js中此功能的底层引擎。

我最后做的是:

代码语言:javascript
复制
foo.forge().save({bar:bookshelf.knex.raw('bar + 1')},{method:"update"});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31095969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档