this[method](conditions, update, { new : true }, function (error, data) {
      // has error ?
      if (error) {
        // reject
        deferred.reject(error);