在我的应用程序中,我列出了包含项目的列表,它们看起来像那样
1. list uuid: b1d19224-ebcc-4f69-a98e-4096a4b28121
1. item
2. item
3. item
2. list uuid: 54b17b3a-5d83-4aec-9e7e-16bff1ba336b
1. item
这些项目由数字编制索引。我想要做的是将项目添加到这些列表中,但不仅仅是在列表的末尾,有时也是在特定项目之后,例如在第一个项目之后。
我想这样做的方法是为这些项目提供一个独特的ID,例如(uuid of list).(number of item)
,例如b1d19224-ebcc-4f69-a98e-4096a4b28121.1
。因此,每次我想添加一个新项目时,我要么将其添加到列表的末尾,要么在某个项目之后将其他项目添加到新的索引+ 1之后,例如(uuid of list).(number+1)
。
答案 0 :(得分:0)
如果要将项目插入按唯一项目编号排序的列表中,则应使用基于CQL3的复合主键列族。
create table list (
partkey varchar,
item_num int,
id varchar,
data varchar,
PRIMARY KEY (partkey, item_num)
) with clustering order by (item_num desc);
其中主键的第一部分将作为分区键服务,第二部分作为排序值。看看以下链接:
http://rollerweblogger.org/roller/entry/composite_keys_in_cassandra