В Cassandra CQL есть ли способ запросить размер типа столбца коллекции?

мы хотим быть в состоянии сделать что-то подобное..

select * from User where rewards.size > 0

когда схемы

create table user (
    id uuid primary key,
    network_id uuid,
    rewards set<uuid>,
    name text   
);

1 ответов


к сожалению Кассандра стремится выполнять очень быстро читает и с другой стороны не сделали поддержку коллекции: получить количество элементов в столбце типа набора в Cassandra

к сожалению, коллекции-поддержка даже в драйвере CQL v2 нет perfect: вы можете добавлять или удалять элементы в операторах upsert. Но об их, как делать выбор элемента, запрашивая TTLs элемента коллекции или запрос размера коллекции не поддерживается. Так вы должны

resultset: SELECT collection_column FROM ... а затем взять товар по resultset.one() или resultset.all() и вам item.size() себя.

что вы хотите сделать, это добавить столбец со счетчиком для подсчета и быстро читать числа элементов. Если вы просто хотите знать, не пуста ли коллекция, вам может понадобиться столбец индекса с логическим значением. Индекс позволяет эффективно сканировать столбцы.