Use JSON.TOGGLE to flip the boolean values a path selects, turning true into false and back.
The reply is the new value of each match, and a match that is not a boolean returns an error. Because the read and the write are one atomic step, this is the safe way to flip a flag inside a document, where reading it and writing the opposite value back would race with other clients.
Syntax#
Arguments#
| Argument | Required | Repeatable | Description |
|---|---|---|---|
key | Yes | No | JSON document key. |
path | Yes | No | Path selecting Boolean values. |
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.
| Protocol | Reply |
|---|---|
| RESP2 | Array of integer Boolean values or null values, one per matched path |
| RESP3 | Array of integer Boolean values or null values, one per matched path |
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.