JSON.ARRINDEX - Amazon ElastiCache (Redis) OSS

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

JSON.ARRINDEX

Mencari kemunculan pertama dari nilai JSON skalar dalam array di jalur.

  • Kesalahan di luar jangkauan diatasi dengan membulatkan indeks ke awal dan akhir array.

  • Jika awal > akhir, mengembalikan -1 (tidak ditemukan).

Sintaks

JSON.ARRINDEX <key> <path> <json-scalar> [start [end]]
  • kunci (wajib) - Kunci Redis OSS dari jenis dokumen JSON.

  • jalur (wajib) – Sebuah jalur JSON.

  • json-skalar (wajib) - Nilai skalar yang dicari. Skalar JSON mengacu pada nilai yang bukan merupakan objek atau array. Artinya, string, angka, Boolean, dan kosong (null) adalah nilai skalar.

  • awal (opsional) – Indeks awal, inklusif. Default ke 0 jika tidak disediakan.

  • akhir (opsional) - Indeks akhir, eksklusif. Default ke 0 jika tidak disediakan, yang berarti bahwa elemen terakhir disertakan. 0 atau -1 berarti elemen terakhir disertakan.

Nilai yang ditampilkan

Jika jalur adalah sintaksis yang ditingkatkan:

  • Array integer. Setiap nilai adalah indeks dari elemen yang cocok dalam array di jalur. Nilainya -1 jika tidak ditemukan.

  • Jika nilai bukan array, nilai yang akan dikembalikan adalah kosong.

Jika jalur adalah sintaksis terbatas:

  • Integer, indeks elemen yang cocok, atau -1 jika tidak ditemukan.

  • Kesalahan WRONGTYPE jika nilai di jalur bukan array.

Contoh

Sintaksis jalur yang ditingkatkan:

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

Sintaksis jalur terbatas:

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