code: def range(cls, collection, attribute, left, right, closed, index_id, skip=None, limit=None):
          
  
          kwargs = {
              'index': index_id,
              'attribute': attribute,
              'left': left,
              'right': right,
              'closed': closed,
              'skip': skip,
              'limit': limit,
          }
  
          return cls._construct_query(name='range',
                                      collection=collection, multiple=True,
                                      **kwargs)
docs: This will find all documents within a given range. In order to execute a range query, a
              skip-list index on the queried attribute must be present.
  
              :param collection Collection instance
              :param attribute The attribute path to check
              :param left The lower bound
              :param right The upper bound
              :param closed  If true, use interval including left and right, otherwise exclude right, but include left
              :param index_id ID of the index which should be used for the query
              :param skip  The number of documents to skip in the query
              :param limit The maximal amount of documents to return. The skip is applied before the limit restriction.
  
              :returns Document list