2016-08-04 9 views
0

Я создал таблицу 'test' и вставил некоторые значения, используя команды ниже, используя CQL.Cassandra select query using команда IN в поле карты

create table testt(val map<text,text>, id text primary key); insert into testt (val,id) values ({'key':'1'},'1');

Когда я получить, используя ниже запроса работает

select * from testt where val['key']='1' allow filtering;

мне нужно получить несколько значений, которые все содержат значения в Вале [ ключа ']. Использование ниже команды throwing error.

select * from testt where val['key'] IN('1') allow filtering;

SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] message="line 1:37 no viable alternative at input 'IN' (... testt where val['key'] [IN]...)">

Есть ли другой способ или доступные методы, чтобы получить, что желаемый результат?

+0

Здравствуйте. В чем же необходимость? Поиск в коллекции очень сложный. Вероятно, вы можете использовать другую модель для более удобного поиска желаемого значения. Например, используйте таблицу поиска. –

ответ

0

Единственный способ получить значения для нескольких ключей в Cassandra - это выполнить несколько запросов. Возможно, вы сможете настроить свой основной ключ для размещения требуемых значений с помощью одного запроса.

 Смежные вопросы

  • Нет связанных вопросов^_^