Cql 的集合如何包含替代值?

how Cql's Collection contains alternative value?

我有一个问题要查询 cassandra 集合。

我想使用集合搜索进行查询。

CREATE TABLE rd_db.test1 (
    testcol3 frozen<set<text>> PRIMARY KEY,
    testcol1 text,
    testcol2 int
)

table结构是这样的...

这是table内容。

在这种情况下,我想使 cql 查询在 set 列上具有替代选项值。

如果它是 sql 并且 testcol3 不是集合,

 select * from rd.db.test1 where testcol3 = 4 or testcol3 = 5

但它是cql和collection..我试试

 select * from test1 where testcol3 contains '4' OR testcol3 contains '5'  ALLOW FILTERING ;

 select * from test1 where testcol3 IN ('4','5') ALLOW FILTERING ;

但这两个查询没有用...

请帮忙...

由于多种原因,这对您不起作用:

您需要更改数据模型,但您需要提前知道您正在执行的查询。通过简要查看您的数据模型,我建议将 set 字段展开为多行,各个字段对应各个分区。

但我想建议学习 DS201 和 DS220 courses on DataStax Academy site 以更好地理解 Cassandra 的工作原理以及如何为其建模数据。