ID 是唯一的,我将其用作键,其余作为 Redis 数据库中的哈希值。我正在寻找一个查询,如果我给出一个特定的城市名称,它会返回我的 ID 列表。例如,如果我问,给我名为 SPRINGFIELD 的城市的所有 ID,它应该返回 01103 和 01104。
{
"_id": "01103",
"city": "SPRINGFIELD",
"loc": [
-72.588735,
42.1029
],
"pop": 2323,
"state": "MA"
}
{
"_id": "01104",
"city": "SPRINGFIELD",
"loc": [
-72.577769,
42.128848
],
"pop": 22115,
"state": "MA"
}
{
"_id": "01106",
"city": "LONGMEADOW",
"loc": [
-72.5676,
42.050658
],
"pop": 15688,
"state": "MA"
}
最佳答案
您没有指定您在 Redis 中使用什么键来映射到城市的哈希结构,所以我假设您使用 ID,因为您已经说过它是唯一的。
要查询与特定名称匹配的城市,您需要构建和维护支持查询的二级索引结构。执行此操作的一种方法是使用 SET
数据结构,并将城市名称用作指向共享该城市名称的一组 ID 的键。
关于Redis 从值中获取键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43448910/