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.

Examples

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}'
OK

Get 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.

See also

JSON.SET | JSON.GET