Как обновить коллекции с помощью CassandraOperations

1

Я рассматриваю пример использования Spring-data-cassandra CassandraOperations для обновления коллекции внутри таблицы cassandra. Пожалуйста, поделитесь, так как я нахожусь трудно понять. Также он недоступен через Интернет.

благодаря

ОБНОВИТЬ

Я просмотрел код spring-data-cassandra. В настоящее время они предоставляют возможность замены коллекции только через свою операцию обновления. Я попытаюсь расширить это и предоставить API для обновления коллекций

Теги:
cassandra
spring-data-cassandra

1 ответ

0

Здесь приведен собственный пример с использованием CQL3. Портирование этого весны с помощью драйвера java cassandra не должно быть сложным.

cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 };
cqlsh> CREATE COLUMNFAMILY test.example (name text PRIMARY KEY, emails list<text>);
cqlsh> UPDATE test.example SET emails = ['[email protected]'] where name='lyuben';
cqlsh> SELECT * FROM test.example;

 name   | emails
--------+-------------------
 lyuben | ['[email protected]']

(1 rows)
cqlsh> UPDATE test.example SET emails = ['[email protected]'] + emails where name='lyuben';
cqlsh> SELECT * FROM test.example;                                              
 name   | emails
--------+-----------------------------------
 lyuben | ['[email protected]', '[email protected]']

(1 rows)
cqlsh> UPDATE test.example SET emails = emails + ['[email protected]'] where name='lyuben';
cqlsh> SELECT * FROM test.example;                                              
 name   | emails
--------+-----------------------------------------------------
 lyuben | ['[email protected]', '[email protected]', '[email protected]']

(1 rows)

DOCS здесь и здесь есть некоторые из других коллекций.

Единственное, что нужно отметить, это то, что имеет значение, добавляете ли вы новый элемент коллекции в начале инструкции или в конце:

// post-append
['[email protected]'] + emails
['[email protected]', '[email protected]']
// pre-append
emails = emails + ['[email protected]']
['[email protected]', '[email protected]', '[email protected]']
  • 0
    Спасибо, Любен, я знаю, как это делается через драйвер datastax java, а также cql, но я искал что-то внутри spring-data-cassandra. Оказывается, поддержки еще нет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню