2017-09-06 2 views
3

Ich habe eine Cassandra-Tabelle Department mit Spalten name_list extends ListColumn[String] und id extends StringColumn with PartitionKey.So holen Sie Daten aus ListColumn [String] in Phantom mit der Bedingung

möchte ich id an dem die angeforderte Name vorhanden ist in name_list holen.

Ich versuchte mit in Operator select(_.id).where(name in name_list), aber es funktioniert nicht.

Eine andere Abfrage habe ich versucht select(_.id).where(_.name_list contains name), aber es funktioniert auch nicht für mich.

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

Gibt es eine Möglichkeit, dies zu lösen !!

Antwort

2

Sie können SetColumn als Typ für Ihre Spalte verwenden, dann können Sie die Methode contains verwenden. Verwenden Sie diese

name_list extends SetColumn[String]

dann wird dies

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

Dank

+0

Dank gut funktionieren :) es hat funktioniert !!! –

+0

Ihre Begrüßung @CharmyGarg –

Verwandte Themen