Student01 Student01 - 4 months ago 33
Node.js Question

How do I do atomic update using Bookshelf.js model?

For example, if I wanted to do something like the following in MySQL query:

update foo set bar = bar + ?;


How would I achieve this using Bookshelf.js model?

Answer

I'm not exactly sure what you mean by atomic, perhaps transactions? You can do that in bookshelf, there's a whole section about it: http://bookshelfjs.org/#Bookshelf-transaction

However, if you're just trying to update a field, you can do that easily as follows:

var idStationIWantToUpdate = 1;
new Station({'id': idStationIWantToUpdate}).save({
    route_name: 'my updated route name'
}).then(function(station) {
    res.json(station.toJSON());
});

The important part is that you instantiate a model with the corresponding ID, then when you call save, it automatically updates the existing record.