2014-02-25 281 views
3

映射值比方说,我有列族是这样的:查询在卡桑德拉

CREATE TABLE test(
id text, 
meta map <text, text>, 
PRIMARY KEY (key) 
); 

然后我把一些数据,我地图,例如:{'username' : 'ivan'}

我想通过meta图中的元素查询我的测试列族。事情是这样的:

SELECT * FROM test WHERE meta['username'] = 'ivan';

根据卡桑德拉documentation这应该是可能的:

正如其名称所暗示的,地图一件事映射到另一个。地图是名称 和一对类型值。使用地图类型,您可以将 时间戳相关信息存储在用户配置文件中。 地图的每个元素都内部存储为一个您可以修改的Cassandra列, 替换,删除和查询。

但我找不到任何这个在线的例子,所以这是真的有可能吗?

感谢, 伊万

回答

1

查询这意味着您可以在使用select语句不是说你可以在WHERE子句中使用它得到。这就是为什么你不能将地图作为主键的一部分。