JSON.ARRINDEX - 아마존 ElastiCache (레디 스OSS)

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

JSON.ARRINDEX

경로의 배열에서 처음 나타나는 스칼라 JSON 값을 검색합니다.

  • 범위를 벗어난 오류는 인덱스를 배열의 시작과 끝으로 반올림하여 처리됩니다.

  • 시작 > 끝이면 -1(찾을 수 없음)을 반환합니다.

구문

JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
  • 키 (필수) — JSON 문서 유형의 레디 스 OSS 키입니다.

  • 경로(필수) - JSON 경로입니다.

  • json-scalar(필수) - 검색 대상인 스칼라 값입니다. JSON 스칼라는 객체나 배열이 아닌 값을 참조합니다. 즉, 문자열, 숫자, 부울 및 null은 스칼라 값입니다.

  • 시작(선택 사항) - 시작 인덱스는 포괄적입니다. 제공하지 않으면 기본적으로 0으로 설정됩니다.

  • 끝(선택 사항) - 끝 인덱스는 배타적입니다. 제공되지 않은 경우 기본적으로 0으로 설정됩니다. 즉, 마지막 요소가 포함된다는 의미입니다. 0 또는 -1은 마지막 요소가 포함되었음을 의미합니다.

반환

경로가 향상된 구문인 경우

  • 정수 배열입니다. 각 값은 경로에 있는 배열에서 일치하는 요소의 인덱스입니다. 발견되지 않은 경우 값은 -1입니다.

  • 값이 배열이 아닌 경우 해당 반환 값은 null입니다.

경로가 제한된 구문인 경우

  • 정수이며, 일치하는 요소의 인덱스입니다. 또는 찾을 수 없는 경우 -1입니다.

  • 경로의 값이 배열이 아닌 경우 WRONGTYPE 오류가 발생합니다.

향상된 경로 구문.

127.0.0.1:6379> JSON.SET k1 . '[[], ["a"], ["a", "b"], ["a", "b", "c"]]' OK 127.0.0.1:6379> JSON.ARRINDEX k1 $[*] '"b"' 1) (integer) -1 2) (integer) -1 3) (integer) 1 4) (integer) 1

제한된 경로 구문.

127.0.0.1:6379> JSON.SET k1 . '{"children": ["John", "Jack", "Tom", "Bob", "Mike"]}' OK 127.0.0.1:6379> JSON.ARRINDEX k1 .children '"Tom"' (integer) 2