lib/remove.js
function remove (state, prefix, objectsOrIds, change) {
  if (Array.isArray(objectsOrIds)) {
    return Promise.all(objectsOrIds.map(markAsDeleted.bind(null, state, change)))

    .then(function (docs) {
      return updateMany(state, docs, null, prefix)
    })
  }

  return markAsDeleted(state, change, objectsOrIds)

  .then(function (doc) {
    return updateOne(state, doc, null, prefix)
  })
}
function remove (state, prefix, objectsOrIds, change) {
  if (Array.isArray(objectsOrIds)) {
    return Promise.all(objectsOrIds.map(markAsDeleted.bind(null, state, change)))

    .then(function (docs) {
      return updateMany(state, docs, null, prefix)
    })
  }

  return markAsDeleted(state, change, objectsOrIds)

  .then(function (doc) {
    return updateOne(state, doc, null, prefix)
  })
}
function remove ( state , prefix , objectsOrIds , change ) { if ( Array . isArray ( objectsOrIds ) ) { return Promise . all ( objectsOrIds . map ( markAsDeleted . bind ( null , state , change ) ) ) . then ( function ( docs ) { return updateMany ( state , docs , null , prefix ) } ) } return markAsDeleted ( state , change , objectsOrIds ) . then ( function ( doc ) { return updateOne ( state , doc , null , prefix ) } ) }
removes existing object

@param  {String}          prefix         optional id prefix
@param  {Object|Function} objectsOrIds   id or object with `._id` property
@param  {Object|Function} [change]       Change properties or function that
changes existing object
@return {Promise}
removes existing object