where() {
      return this.query.apply(this, ['where'].concat(Array.from(arguments)));
    }
This is used as convenience for the most common {@link Collection#query query} method:
adding a `WHERE` clause to the builder. Any additional knex methods may be accessed using
{@link Collection#query query}.

Accepts either `key, value` syntax, or a hash of attributes to constrain the results.

@example
collection
  .where('favorite_color', '<>', 'green')
  .fetch()
  .then(results => {
    // ...
  })

// or

collection
  .where('favorite_color', 'red')
  .fetch()
  .then(results => {
    // ...
  })

collection
  .where({favorite_color: 'red', shoe_size: 12})
  .fetch()
  .then(results => {
    // ...
  })

@see Collection#query
@param {Object|...string} conditions
  Either `key, [operator], value` syntax, or a hash of attributes to match. Note that these
  must be formatted as they are in the database, not how they are stored after
  {@link Model#parse}.
@returns {Collection} Self, this method is chainable.