cassandra 1.2从列表列中删除项目,并在列表为空时删除行

roejwanj  于 2021-06-15  发布在  Cassandra
关注(0)|答案(2)|浏览(370)

我有一个cassandra 1.2列系列,它看起来像这样:

food: 'steak'
value: 10
desserts: ['chocolate cake','banana pie','strawberry icecream']

我需要从这一行中删除一个甜点,例如“巧克力蛋糕”,但是如果删除了其中一个项目后甜点列表变成了一个空列表,我需要删除整行,有没有办法在cassandra中的一个查询中实现这一点?如果没有,最好的方法是什么?
更多信息:我用于删除列表中某个项目的查询如下:

update Table
set desserts = desserts - ['chocolate cake']
where food = 'steak'

提前谢谢!

k75qkfdt

k75qkfdt1#

cassandra还不支持收集框架上的这种高级功能。现在我想您必须执行两个查询才能完成操作。

olqngx59

olqngx592#

从列表中删除元素的单行语句:

DELETE desserts[1] FROM table WHERE where food = 'steak';

以下链接中的第6点可供参考:http://docs.datastax.com/en/cql/3.0/cql/cql_using/use_list_t.html
这个链接详细讨论了cassandra中使用的列表类型。

相关问题