A Bookshelf plugin that adds
model.upsert()
$ npm install --save bookshelf-upsert
const upsert = require('bookshelf-upsert')
bookshelf.plugin(upsert)
const model = require('a-bookshelf-model')
model.forge({ some: 'data' })
.where({ optional: 'constraint' })
.upsert({ optional: 'attributes' })
Bookshelf model instances are provided the upsert
method, which may be given attributes and options that will be passed along to model.save()
. This implementation of upsert first attempts an update then if no rows are updated it follows up with an insert.
MIT