有什么方法可以使用 YCQL api 进行此查询?
YCQL 尚不支持该CONTAINS
关键字(请随时在YugabyteDB GitHub 上为此打开一个问题)。一种解决方法是使用MAP<INT, BOOLEAN>
而不是SET<INT>
和[]
运算符。例如:
CREATE TABLE test.table_name(
id text,
ckk MAP<int, boolean>,
PRIMARY KEY((id))
);
SELECT * FROM table_name WHERE id = 'foo' AND ckk[4] = true;
我们可以在 SECONDRY INDEX 中使用 SET 类型吗?
通常,集合类型不能是主键或索引键的一部分。但是,“冻结”集合(即内部序列化为单个值的集合)实际上可以是主键或索引键的一部分。
例如:
CREATE TABLE table2(
id TEXT,
ckk FROZEN<SET<INT>>,
PRIMARY KEY((id))
) WITH transactions = {'enabled' : true};
CREATE INDEX table2_idx on table2(ckk);