diff --git a/redis.go b/redis.go index d3807af..53c0c38 100644 --- a/redis.go +++ b/redis.go @@ -244,7 +244,7 @@ func (rh *RedisonHandler) JSONType(key, path string) ([]string, error) { return respToArray[string](rh.Do(rh.ctx, args...).Result()) } -func (rh *RedisonHandler) JSONNumIncrBy(key, path string, number int) ([]int64, error) { +func (rh *RedisonHandler) JSONNumIncrBy(key, path string, number int) (int64, error) { args := []any{ "JSON.NUMINCRBY", key, @@ -253,15 +253,14 @@ func (rh *RedisonHandler) JSONNumIncrBy(key, path string, number int) ([]int64, } resp, err := rh.Do(rh.ctx, args...).Result() if err != nil { - return nil, err + return 0, err } - var cnts []int64 - err = json.Unmarshal([]byte(resp.(string)), &cnts) - return cnts, err + numstr := strings.Trim(resp.(string), "[]") + return strconv.ParseInt(numstr, 10, 0) } -func (rh *RedisonHandler) JSONNumMultBy(key, path string, number int) (res any, err error) { +func (rh *RedisonHandler) JSONNumMultBy(key, path string, number int) (int64, error) { args := []any{ "JSON.NUMMULTBY", key, @@ -270,10 +269,11 @@ func (rh *RedisonHandler) JSONNumMultBy(key, path string, number int) (res any, } resp, err := rh.Do(rh.ctx, args...).Result() if err != nil { - return nil, err + return 0, err } - return resp.([]any), nil + numstr := strings.Trim(resp.(string), "[]") + return strconv.ParseInt(numstr, 10, 0) } func (rh *RedisonHandler) JSONStrAppend(key, path string, jsonstring string) ([]int64, error) {