0

在我的应用程序中,我的列表中包含项目,它们看起来像这样

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)

  • 有没有其他方法可以做到这一点,或者我应该这样做吗?
4

1 回答 1

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

于 2013-07-26T06:12:51.483 回答