code: function queryOptionsToMongo(query, options) {
      var hash = {},
          fields = fieldsToMongo(query[options.keywords.fields]),
          omitFields = omitFieldsToMongo(query[options.keywords.omit]),
          sort = sortToMongo(query[options.keywords.sort]),
          maxLimit = options.maxLimit || 9007199254740992,
          limit = options.maxLimit || 0
  
      if (fields) hash.fields = fields
      // omit intentionally overwrites fields if both have been specified in the query
      // mongo does not accept mixed true/fals field specifiers for projections
      if (omitFields) hash.fields = omitFields
      if (sort) hash.sort = sort
  
      if (query[options.keywords.offset]) hash.skip = Number(query[options.keywords.offset])
      if (query[options.keywords.limit]) limit = Math.min(Number(query[options.keywords.limit]), maxLimit)
      if (limit) {
          hash.limit = limit
      } else if (options.maxLimit) {
          hash.limit = maxLimit
      }
  
      return hash
  }
docs: Convert query parameters to a mongo query options. for example {fields:'a,b',offset:8,limit:16} becomes {fields:{a:true,b:true},skip:8,limit:16}