update (id, props, opts) {
    return this.crud('update', id, props, opts)
  }
Using an adapter, update the record with the primary key specified by the
`id` argument.

{@link Mapper#beforeUpdate} will be called before updating the record.
{@link Mapper#afterUpdate} will be called after updating the record.

@example
// Update a specific post
PostMapper.update(1234, {
  status: 'published',
  published_at: new Date()
}).then((post) => {
  console.log(post); // { id: 1234, status: 'published', ... }
});

@fires Mapper#beforeUpdate
@fires Mapper#afterUpdate
@method Mapper#update
@param {(string|number)} id The primary key of the record to update.
@param {object} props The update to apply to the record.
@param {object} [opts] Configuration options. Refer to the `update` method
of whatever adapter you're using for more configuration options.
@param {boolean} [opts.adapter={@link Mapper#defaultAdapter}] Name of the
adapter to use.
@param {boolean} [opts.notify={@link Mapper#notify}] See {@link Mapper#notify}.
@param {boolean} [opts.noValidate={@link Mapper#noValidate}] See {@link Mapper#noValidate}.
@param {boolean} [opts.raw={@link Mapper#raw}] See {@link Mapper#raw}.
transaction.
@returns {Promise} Resolves with the updated record. Rejects if the record
could not be found.
@since 3.0.0
@tutorial ["http://www.js-data.io/v3.0/docs/saving-data","Saving data"]