Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
JSON.SET
setSNilai JSON di jalan.
Jika jalan panggilan untuk anggota objek:
Jika elemen induk tidak ada, perintahkembaliSkesalahan tidak ada.
Jika elemen induk ada tetapi bukan obyek, perintahkembaliSKESALAHAN.
Jika elemen induk ada dan merupakan objek:
Jika anggota tidak ada, anggota baru akan ditambahkan ke objek induk jika dan hanya jika objek induk adalah anak terakhir di jalan. Jika tidak, perintahkembaliSkesalahan tidak ada.
Jika anggota ada, nilainya akan digantikan oleh nilai JSON.
Jika jalan panggilan untuk indeks array:
Jika elemen induk tidak ada, perintahkembaliSkesalahan tidak ada.
Jika elemen induk ada tetapi tidak array, perintahkembaliSKESALAHAN.
Jika elemen induk ada tetapi indeks berada di luar batas, perintahkembaliS sebuahKesalahan OUTOFBOUNDS.
Jika elemen induk ada dan indeks valid, elemen akan digantikan oleh nilai JSON baru.
Jika jalur panggilan untuk objek atau array, nilai (objek atau array) akan digantikan oleh nilai JSON baru.
Sintaksis
JSON.SET <key> <path> <json> [NX | XX]
[NX | XX] Di mana Anda dapat memiliki 0 atau 1 dari [NX | XX] pengidentifikasi.
kunci (diperlukan) -SEBUAHKunci Redis dari jenis dokumen JSON.
jalan (diperlukan) -SEBUAHPath JSON. Untuk kunci Redis baru, jalur JSON harus menjadi root “.”.
NX (opsional) - Jika jalur adalah root, tetapkan nilainya hanya jika kunci Redis tidak ada. Itu adalah, masukkan dokumen baru. Jika jalan tidak akar, menetapkan nilai hanya jika jalan tidak ada. Itu adalah, masukkan nilai ke dalam dokumen.
XX (opsional) - Jika jalur adalah root, tetapkan nilainya hanya jika kunci Redis ada. Itu adalah, ganti dokumen yang ada. Jika jalan tidak akar, menetapkan nilai hanya jika jalan ada. Itu adalah, perbarui nilai yang ada.
KEMBALI
String sederhana 'OK' pada kesuksesan.
-
Null jika ketentuan NX atau XX tidak terpenuhi.
Contoh
Sintaks jalur yang ditingkatkan:
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]}"
Sintaks jalur terbatas:
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