获取Cassandra中Set type列中的元素数

时间:2014-03-11 19:27:04

标签: cassandra cql

如何获取Cassandra(cql)中Set的元素计数; 例如;表格中的列值{' 9970GBBHVOB61' 9970GBBHVOB62' 9970GBBHVOB6O'}。我希望从查询中返回3

2 个答案:

答案 0 :(得分:4)

遗憾的是,即使在CQL Driver v2中,Collections支持也不完美:您可以在upsert语句中添加或删除项目。但更多关于它们,如做项目选择,要求收集项目的TTL或要求集合的大小,不受支持。所以你必须

resultset: SELECT collection_column FROM ...

然后按resultset.one()resultset.all()获取项目并自行获取item.size()。抱歉,那就是。

答案 1 :(得分:0)

要对您的问题给出非常具体的答案-“表中的列的值为{'9970GBBHVOB61','9970GBBHVOB62','9970GBBHVOB6O'}。我希望从查询中返回3”

有一个size()方法可以做到这一点..以给出如何使用它的示例:

 select order_id,items.item_id,last_modified from person.ecommerce_order   where size(items.item_id)> 1

解释查询:

items.item_id 是一个列表字段 检查列表中是否有多个项目。