根据DataStax collections doc,集合总是作为一个整体来阅读。在引擎盖下,C *将集合存储为动态列的列表。 例如
books map<text, int>
将是商店
{name=books:book_name_1, value=2001},
{name=books:book_name_2, value=2002}
为什么不能从地图中选择特定的键?
答案 0 :(得分:0)
那是什么JSON结构? (这不是有效的JSON。)这不是地图将如何存储在Cassandra内的列中。
无论如何,您可能正在寻找以下内容:http://docs.datastax.com/en/cql/3.1/cql/ddl/ddl_query_collection_c.html
答案 1 :(得分:0)
Cassandra整体阅读每一栏 Cassandra只允许在主键上使用where子句,如果需要通过普通列进行过滤,则必须在其上创建索引。
对于您的情况,您需要将地图拆分为两个字段,并将密钥设为主键
例如:
CREATE TABLE books(
key text,
value int,
primary key(key)
);
现在您可以按键查询以获取值;
SELECT value FROM books WHERE key = ?