code: func (s RethinkStore) FilterBefore(id string, filter map[string]interface{}, count int, skip int, store string, opts ObjectStoreOptions) (rows ObjectRows, err error) {
  	rootTerm := r.DB(s.Database).Table(store).Between(
  		r.MinVal, id, r.BetweenOpts{RightBound: "closed"}).OrderBy(
  		r.OrderByOpts{Index: r.Desc("id")}).Filter(
  		s.transformFilter(nil, filter)).Limit(count)
  	result, err := rootTerm.Run(s.Session)
  	if err != nil {
  		return
  	}
  	if result.Err() != nil {
  		return nil, result.Err()
  	}
  	if result.IsNil() {
  		return nil, ErrNotFound
  	}
  	rows = RethinkRows{result}
  	return
  }
docs: //FilterBefore returns rows created before a provided key. It accepts a filter and result shaping arguments