2017-09-06 35 views
2

我有一个Cassandra表Department,列name_list extends SetColumn[String] with PartitionKeyid extends StringColumn with PartitionKey如何从幻像中的SetColumn [String]中选择字段

我想获取ID所请求的存在于NAME_LIST

我试过下面使用此代码,但没有得到任何结果

abstract class Departments extends Table[Departments, Department] with RootConnector { 

    object id extends StringColumn with PartitionKey 

    object dep_type extends StringColumn 

    object name_list extends SetColumn[String] with Index 

     def getByName(name: String) = { 
     select(_.id, _.name_list) 
      .where(_.name_list.contains(name)) 
      .allowFiltering() 
      .one() 
     } 
} 

有什么办法来解决这个问题!

+0

@flavian你可以检查。 –

回答

2

我认为我们不需要为它扩展索引。这是工作的罚款与本太: -

object name_list extends SetColumn[String] 

现在,我通过使用与上述相同的方法获得ID和NAME_LIST: -

def getByName(name: String) = { 
    select(_.id, _.name_list) 
     .where(_.name_list.contains(name)) 
     .allowFiltering() 
     .one() 
    } 
0

你的架构必须是:

object name_list extends SetColumn[String] with Index

无二次索引卡桑德拉不支持收集操作。

+0

感谢您对@flavian的帮助,但我仍未收到任何回复。 –

+0

我已经更新了这个问题请看看谢谢 –

+0

查询是否可以编译和工作,但是你没有从Cassandra得到任何结果? – flavian