기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
JSON.SET
경로에 JSON 값을 설정합니다.
경로가 객체 멤버를 호출하는 경우
상위 요소가 없는 경우 다음 명령은 NONEXISTENT 오류를 반환합니다.
상위 요소가 있지만 객체가 아닌 경우 명령은 ERROR를 반환합니다.
상위 요소가 있고 객체인 경우
멤버가 없으면 상위 객체가 경로의 마지막 하위 객체인 경우에만 새 멤버는 상위 객체에 추가됩니다. 그렇지 않으면 명령은 NONEXISTENT 오류를 반환합니다.
멤버가 있으면 해당 값이 JSON 값으로 대체됩니다.
경로가 배열 인덱스를 호출하는 경우
상위 요소가 없는 경우 다음 명령은 NONEXISTENT 오류를 반환합니다.
상위 요소가 있지만 배열이 아닌 경우 명령은 ERROR를 반환합니다.
상위 요소가 있지만 인덱스가 범위를 벗어난 경우 명령은 OUTOFBOUNDARIES 오류를 반환합니다.
상위 요소가 있고 인덱스가 유효하면 요소는 새 JSON 값으로 대체됩니다.
경로가 객체 또는 배열을 호출하는 경우 값(객체 또는 배열)은 새 JSON 값으로 대체됩니다.
구문
JSON.SET <key> <path> <json> [NX | XX]
[NX | XX] 여기에 [NX | XX] 식별자 0개 또는 1개가 있을 수 있습니다..
키 (필수) — JSON 문서 유형의 레디 스 OSS 키입니다.
경로(필수) - JSON 경로입니다. 새 Redis OSS 키의 경우 JSON 경로는 루트 “.” 여야 합니다.
NX (선택 사항) - 경로가 루트인 경우 Redis OSS 키가 없는 경우에만 값을 설정합니다. 즉, 새 문서를 삽입합니다. 경로가 루트가 아니면 경로가 없는 경우에만 값을 설정합니다. 즉, 문서에 값을 삽입합니다.
XX (선택 사항) — 경로가 루트인 경우 Redis OSS 키가 있는 경우에만 값을 설정합니다. 즉, 기존 문서를 교체합니다. 경로가 루트가 아니면 경로가 있는 경우에만 값을 설정합니다. 즉, 기존 값을 업데이트합니다.
반환
성공 시 단순 문자열 '확인'.
-
NX 또는 XX 조건이 충족되지 않으면 null입니다.
예
향상된 경로 구문.
127.0.0.1:6379> JSON.SET k1 . '{"a":{"a":1, "b":2, "c":3}}' OK 127.0.0.1:6379> JSON.SET k1 $.a.* '0' OK 127.0.0.1:6379> JSON.GET k1 "{\"a\":{\"a\":0,\"b\":0,\"c\":0}}" 127.0.0.1:6379> JSON.SET k2 . '{"a": [1,2,3,4,5]}' OK 127.0.0.1:6379> JSON.SET k2 $.a[*] '0' OK 127.0.0.1:6379> JSON.GET k2 "{\"a\":[0,0,0,0,0]}"
제한된 경로 구문.
127.0.0.1:6379> JSON.SET k1 . '{"c":{"a":1, "b":2}, "e": [1,2,3,4,5]}' OK 127.0.0.1:6379> JSON.SET k1 .c.a '0' OK 127.0.0.1:6379> JSON.GET k1 "{\"c\":{\"a\":0,\"b\":2},\"e\":[1,2,3,4,5]}" 127.0.0.1:6379> JSON.SET k1 .e[-1] '0' OK 127.0.0.1:6379> JSON.GET k1 "{\"c\":{\"a\":0,\"b\":2},\"e\":[1,2,3,4,0]}" 127.0.0.1:6379> JSON.SET k1 .e[5] '0' (error) OUTOFBOUNDARIES Array index is out of bounds