我在 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'}
}
这里,monitor 是根键,数字是 id。我想在 python 中使用 RedisJSON 查询检索包括 ids 在内的整个记录。如何找回?发布
23.4.6
的示例答案是 '106521149': {'status': 'Screen', 'release': '23.4.6’}
您可以简单地使用 json.get() 函数进行检索。 以下是您的问题的示例解决方案。 假设您已经安装了“redis”。
import redis
r = redis.Redis(host='localhost', port=6379, decode_responses=True)
result = r.json().get('monitor', '$.*[?(@.release=="23.4.6")]')
print(result)
这应该会给你结果。 1 个基本假设是关键 - “释放”将始终具有唯一的值。