Upstash Documentation

JSON.ARRINDEX

Find index of value in array.
2 min read

Use JSON.ARRINDEX to find the first position of a value inside the arrays a path selects.

The value is JSON text and is compared for exact equality, so 1 does not match "1". The optional start and stop bound the search: start is inclusive, stop is exclusive, both may be negative to count from the end of the array, and 0 for stop means "to the end". The reply is the index of the first match or -1 when the value is not present, with one result per array the path matched.

Syntax#

Arguments#

ArgumentRequiredRepeatableDescription
keyYesNoJSON document key.
pathYesNoPath selecting arrays.
valueYesNoValid JSON value to locate.
startNoNoInclusive starting index.
stopNoNoExclusive ending index.

Important points#

  • Raw TCP examples pass JSON values as valid JSON text. Typed Upstash SDK helpers serialize native objects and values for you.
  • Paths beginning with $ use JSONPath and can match multiple values, so many JSON commands return an array of per-match results.

Response#

The reply reports the result of the operation. Error replies have the same shape in RESP2 and RESP3 and are surfaced as exceptions by the SDKs below.

ProtocolReply
RESP2Array of integer indexes or null values, one per matched path
RESP3Array of integer indexes or null values, one per matched path
Note

Client libraries often decode bulk strings, maps, sets, and numeric strings into language-native values. The table describes the Redis wire reply.

Examples#

TCP examples use the TLS REDIS_URL from the Upstash console. REST examples use UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN.

Redis CLI
@upstash/redis
upstash_redis
ioredis
node-redis
redis-py
go-redis
jedis
redis-rs