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