更新Cassandra中自定义类型的集合类型



我如何将一个新元素附加到Cassandra中的自定义类型中的集合。

custom_type是:

CREATE TYPE custom_type (
   normal_type    TEXT,
   set_type Set<TEXT>
);

和要更新的表是:

CREATE TABLE test_table (
   id          TEXT,
   my_type      FROZEN<custom_type>,
   clustering_key TEXT,
   PRIMARY KEY ((id),clustering_key)
);

在以下查询下尝试但不起作用。

@Query("update test_table set  my_type.set_type = my_type.set_type + {'newelement'} where id=?1 and clustering_key=?2")

关于如何做的任何想法?使用[cqlsh 5.0.1 | Cassandra 3.11.1 | CQL spec 3.4.4

当您说 frozen时,整个值将被视为一块(blob(,因此您无法更新此字段的部分。官方文件指出:

使用冷冻关键字时,您无法更新用户定义的类型值的部分。整个值必须被覆盖。卡桑德拉(Cassandra(将冷冻,用户定义类型的价值如斑点。

相关内容

最新更新