0

私はcassandraを初めて使用し(数日前に自分の興味で学び始めました)、以下の問題のヘルプを探しています。

Cassandra テーブル "User" と ListColumn "interests extends ListColumn[String]" があります。ここで、「遊んでいる」など、興味のあるすべてのユーザーを取得したいと思います。

like: Interests.contains("playing")! のユーザーから選択します。ListColumn API をスキャンしましたが、何も見つかりませんでした。また、グーグルで検索しましたが、そのような役立つ投稿はありません。

助けてください...よろしくお願いします:)

4

2 に答える 2

1

そのため、演算子containsの中にあり、これを使用する方法の例を次に示します。他の演算子と同じように機能するように見えるので、もちろん、慣例に応じて選択してください。database.userTable.select.where(_.interests contains "playing").fetch()

于 2016-10-10T21:39:16.717 に答える
1

これは、コレクション列のセカンダリ インデックスで可能です。これは、列でのみ機能しSetList.

結論:

object interests extends SetColumn[String](this) with Index[Set[String]]

そして、次を実行できます。

select.where(_.interests contains "test").fetch()

フィルタリングを許可すると、複数の制限を使用することもできます。

select.where(_.interests contains "test")
  .and(_.interests contains "test2")
  .allowFiltering()
  .fetch()

上記は、両方の興味がレコードにある場合にのみ一致します。

于 2016-10-10T23:05:37.070 に答える