code: func (n *node) All(to interface{}, options ...func(*index.Options)) error {
  	opts := index.NewOptions()
  	for _, fn := range options {
  		fn(opts)
  	}
  
  	query := newQuery(n, nil).Limit(opts.Limit).Skip(opts.Skip)
  	if opts.Reverse {
  		query.Reverse()
  	}
  
  	err := query.Find(to)
  	if err != nil && err != ErrNotFound {
  		return err
  	}
  
  	if err == ErrNotFound {
  		ref := reflect.ValueOf(to)
  		results := reflect.MakeSlice(reflect.Indirect(ref).Type(), 0, 0)
  		reflect.Indirect(ref).Set(results)
  	}
  	return nil
  }
docs: // All gets all the records of a bucket.
  // If there are no records it returns no error and the 'to' parameter is set to an empty slice.