2017-09-06 50 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