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, 卡罗