code: function(model, options) {
              var index;
  
              if (_.isArray(model)) {
                  _.each(model, function(m) {
                      this.remove(m, options);
                  }, this);
                  return this;
              }
  
              options = _.defaults(options || {}, {
                  silent: false
              });
  
              model = this._prepareModel(model);
  
              _.each(this.models, function(m, i) {
                  if (!m || model.id == m.id) {
                      this.models.splice(i, 1);
                      index = i;
                      return;
                  }
              }, this);
              delete this._byId[model.id];
  
              if (options.silent) return this;
              options.index = index;
              if (this._totalCount != null) this._totalCount = _.max([0, this._totalCount - 1]);
              this.trigger('remove', model, this, options);
              this._removeReference(model);
  
              return this;
          }
docs: Remove a model from the collection.
  
  @method remove
  @param {Model} model model or data to remove
  @param {object} [options] options for removing
  @chainable