2017-09-06 15 views
2

私はカッサンドラのテーブルDepartmentにカラムname_list extends SetColumn[String] with PartitionKeyid extends StringColumn with PartitionKeyがあります。ファントムのSetColumn [文字列]からフィールドを選択する方法

私は、要求されたNAME_LISTに存在しているIDを取得したいです。

私は以下のコードを使用してみましたが、どんな結果

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() 
     } 
} 

を得ていないことは、これを解決する方法はあります!

object name_list extends SetColumn[String] with Index

カサンドラは、コレクション操作をサポートしていない二次インデックスがない場合:

+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

あなたのスキーマがなければなりません。

+0

@flavianを助けてくれてありがとうが、まだ私は何の反応も得ていない。 –

+0

私は質問を更新しましたよ見てくださいありがとう –

+0

クエリがコンパイルされ、動作しますが、Cassandraからの結果は得られませんか? – flavian

関連する問題