JSON.MGET
Syntax
JSON.MGET key [key ...] path
- Available in:
- Redis Open Source / JSON 1.0.0
- Time complexity:
- O(M*N) when path is evaluated to a single value where M is the number of keys and N is the size of the value, O(N1+N2+...+Nm) when path is evaluated to multiple values where m is the number of keys and Ni is the size of the i-th key
- ACL categories:
-
@json,@read,@slow, - Compatibility:
- Redis Enterprise and Redis Cloud compatibility
Return the values at path from multiple key arguments
Warning:
When cluster mode is enabled, all specified keys must reside on the same hash slot.
When the database has more than one shard, and the specified keys reside in different shards, Redis will not report a CROSSSLOT error (to avoid breaking changes) and the results may be partial.
Required arguments
key
is key to parse. Returns null for nonexistent keys.
Optional arguments
path
is JSONPath to specify. Returns null for nonexistent paths.
Examples
Return the values at path from multiple key arguments
Create two JSON documents.
redis> JSON.SET doc1 $ '{"a":1, "b": 2, "nested": {"a": 3}, "c": null}'
OK
redis> JSON.SET doc2 $ '{"a":4, "b": 5, "nested": {"a": 6}, "c": null}'
OKGet values from all arguments in the documents.
redis> JSON.MGET doc1 doc2 $..a
1) "[1,3]"
2) "[4,6]"Redis Enterprise and Redis Cloud compatibility
| Redis Enterprise |
Redis Cloud |
Notes |
|---|---|---|
| ✅ Supported |
✅ Flexible & Annual ✅ Free & Fixed |
Return information
Array reply of bulk string replies or null replies, where each element is the JSON serialization of the value at the corresponding key's path, or
null if the key or path doesn't exist.