В 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()
себя.
что вы хотите сделать, это добавить столбец со счетчиком для подсчета и быстро читать числа элементов. Если вы просто хотите знать, не пуста ли коллекция, вам может понадобиться столбец индекса с логическим значением. Индекс позволяет эффективно сканировать столбцы.