如何从Phantom中的SetColumn [String]中选择字段

时间:2017-09-06 10:56:49

标签: scala cassandra datastax phantom-dsl phantom-types

我有一张带有Departmentname_list extends SetColumn[String] with PartitionKey列的Cassandra表id extends StringColumn with PartitionKey

我想提取 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()
      }
}

有没有办法解决这个问题!!

2 个答案:

答案 0 :(得分:2)

我认为我们不需要为它扩展索引。它也可以正常工作: -

p

现在,我使用与上面相同的方法获取id和name_list: -

object name_list extends SetColumn[String]

答案 1 :(得分:0)

您的架构必须是:

object name_list extends SetColumn[String] with Index

没有二级索引Cassandra不支持收集操作。