code: func (db *DB) HGetAll(key []byte) ([]FVPair, error) {
  	if err := checkKeySize(key); err != nil {
  		return nil, err
  	}
  
  	start := db.hEncodeStartKey(key)
  	stop := db.hEncodeStopKey(key)
  
  	v := make([]FVPair, 0, 16)
  
  	it := db.bucket.RangeLimitIterator(start, stop, store.RangeROpen, 0, -1)
  	defer it.Close()
  
  	for ; it.Valid(); it.Next() {
  		_, f, err := db.hDecodeHashKey(it.Key())
  		if err != nil {
  			return nil, err
  		}
  
  		v = append(v, FVPair{Field: f, Value: it.Value()})
  	}
  
  	return v, nil
  }
docs: // HGetAll returns all field-values.