HIR*_*KUR 4 cql cassandra datastax cassandra-2.0
我有一个类型为MAP的字段cat_to_pub。
{1: '9-20-21', 2: '2-5-21', 4: '2-5-21', 5: '2', 6: '2', 9: '2-83-153-149', 11: '2-5-21-31', 29: '100', 32: '113-198-21'}
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法从此MAP中删除单个元素
DELETE cat_to_pub[1] FROM user_preferences WHERE user_id = 'jayeshjain';
Run Code Online (Sandbox Code Playgroud)
如何从该集合中删除多个元素?
例如。如果我想删除键1和2,如何形成查询?
使用较新版本的cassandra(已尝试3.7),您可以
update user_preference set cat_to_pub = cat_to_pub - { 1, 2 } where user_id = 'jayeshjain';
我认为没有办法将其作为单个简单语句来执行,但您应该能够将其作为批处理语句来执行。由于您是从同一分区中删除(因为您是从同一映射列中删除),因此性能应该仍然相当不错,因为这仍将作为一项操作完成(通过执行查询跟踪进行验证)。
BEGIN UNLOGGED BATCH
DELETE cat_to_pub[1] from user_preferences where user_id ='jayeshjain';
DELETE cat_to_pub[2] from user_preferences where user_id ='jayeshjain';
APPLY BATCH;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1316 次 |
| 最近记录: |