select 子句中地图上的 cassandra 查询
cassandra query on map in select clause
我是 cassandra 的新手,我正在尝试从数据库中读取包含值的行
站点 ID |国家 |一些地图
1 |美国 | {a:b, x:z}
2 |公关 | {a:b, x:z}
我还在 table 上使用 create index on columnfamily(keys(someMap));
创建了一个索引
但是当我查询为 select * 来自 table where siteId=1 and someMap contains key 'a'
它 returns 整个地图
1 |美国 | {a:b, x:z}
有人能帮我看看我应该怎么做才能获得价值
1 |美国 | {a:b}
你不能:即使在内部 Map|List|Set
的每个条目都存储为一个列,你也只能检索整个集合而不是其中的一部分。你不是要cassandra给我包含X的地图的条目,而是地图包含X的行。
HTH,
卡罗
我是 cassandra 的新手,我正在尝试从数据库中读取包含值的行
站点 ID |国家 |一些地图
1 |美国 | {a:b, x:z}
2 |公关 | {a:b, x:z}
我还在 table 上使用 create index on columnfamily(keys(someMap));
创建了一个索引但是当我查询为 select * 来自 table where siteId=1 and someMap contains key 'a'
它 returns 整个地图
1 |美国 | {a:b, x:z}
有人能帮我看看我应该怎么做才能获得价值
1 |美国 | {a:b}
你不能:即使在内部 Map|List|Set
的每个条目都存储为一个列,你也只能检索整个集合而不是其中的一部分。你不是要cassandra给我包含X的地图的条目,而是地图包含X的行。
HTH, 卡罗