I have records stored like below in the Redis.
‘monitor':{'105894288': {'status': 'Screen', 'release': '23.4.5'},
'106521147': {'status': 'Screen', 'release': '23.4.5'},
'106521148': {'status': 'Screen', 'release': '23.4.5'},
'106521149': {'status': 'Screen', 'release': '23.4.6'}
}
Here, monitor is the root key and numbers are ids. I would like to retrieve whole record including the ids using RedisJSON query in python. How to retrieve it? The example answer for release 23.4.6
is '106521149': {'status': 'Screen', 'release': '23.4.6’}
You can simply use json.get() function for retrival.
below is the example solution for your problem.
assuming you have “redis” already installed.
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
result = r.json().get('monitor', '$.*[?(@.release=="23.4.6")]')
print(result)
this should get you your result.
1 basic assumption in this is that the key – “release” will always have unique values.
1