1

我的要求是我需要从 Cassandra 的一列中获取记录,该列的值不是我传递的字符串列表之外的特定字符串......例如,在数据中有一个列名称服务......列可能包含值 1,2,3,4,5.... 我不想显示 5... 我想显示具有 1 或 2 或 3 或 4 的记录... 如何实现这一点......你能请任何人帮助我吗?

4

1 回答 1

1

如果您将 1..5 作为值存储在列中,则别无选择,您只需要从客户端执行此操作。你不能从 cassandra 端过滤

如果 1..5 本身在您的列名中,例如

row_1 => { 1: value, 2:value... }
row_2 => { 1: value, 2:value... }
..
row_3 => { 1: value, 2:value... }

那么你可以使用

SELECT 1..4 from YOUR_COLUMN_FAMILY where key='yourKey'

作为另一种选择,如果您可以将 1..5 作为单独的行,例如

1 => { c1: value, c2:value... }
2 => { c1: value, c2:value... }
..
5 => { c1: value, c2:value... }

你可以做

SELECT * from YOUR_COLUMN_FAMILY where key in (1,2,3,4)

您还可以在此处查看列上的@secondary Indexes

由于在列上创建了二级索引,所以可以直接查询它们的值

于 2012-04-25T08:13:22.990 回答