From e4ac505928ef880978e0ae34bfabd32ba6c213a2 Mon Sep 17 00:00:00 2001 From: mountain Date: Thu, 10 Aug 2023 15:25:40 +0900 Subject: [PATCH] =?UTF-8?q?JSONGetString,=20JSONGetInt64=20=EB=A6=AC?= =?UTF-8?q?=ED=84=B4=20=ED=83=80=EC=9E=85=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- redis.go | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/redis.go b/redis.go index 53c0c38..659027a 100644 --- a/redis.go +++ b/redis.go @@ -191,12 +191,26 @@ func (rh *RedisonHandler) JSONGet(key, path string, opts ...RedisonGetOption) (r return rh.Do(rh.ctx, args...).Result() } -func (rh *RedisonHandler) JSONGetString(key, path string) ([]string, error) { - return respToArray[string](rh.JSONResp(key, path)) +func (rh *RedisonHandler) JSONGetString(key, path string) (string, error) { + arr, err := respToArray[string](rh.JSONResp(key, path)) + if err != nil { + return "", err + } + if len(arr) > 0 { + return arr[0], nil + } + return "", nil } -func (rh *RedisonHandler) JSONGetInt64(key, path string) ([]int64, error) { - return respToArray[int64](rh.JSONResp(key, path)) +func (rh *RedisonHandler) JSONGetInt64(key, path string) (int64, error) { + arr, err := respToArray[int64](rh.JSONResp(key, path)) + if err != nil { + return 0, err + } + if len(arr) > 0 { + return arr[0], nil + } + return 0, nil } func (rh *RedisonHandler) JSONMGet(path string, keys ...string) (res any, err error) {