如何使用 DataStax QueryBuilder 将元素添加到集合中?

How do you add elements to a set with DataStax QueryBuilder?

我有一个 table,其列类型是

text, bigint, set<text> 

我正在尝试更新单行并使用 QueryBuilder 向集合中添加一个元素。

覆盖现有集合的代码如下所示(注意这是 scala):

val query = QueryBuilder.update("twitter", "tweets")
  .`with`(QueryBuilder.set("sinceid", update.sinceID))
  .and(QueryBuilder.set("tweets", setAsJavaSet(update.tweets)))
  .where(QueryBuilder.eq("handle", update.handle))

我能够找到用于将元素添加到集合的实际 CQL,它是:

UPDATE users
SET emails = emails + {'fb@friendsofmordor.org'} WHERE user_id = 'frodo';

但找不到使用 QueryBuilder 的示例。

基于 CQL,我也尝试过:

  .and(QueryBuilder.set("tweets", "tweets"+{setAsJavaSet(update.tweets)}))

但是没有用。提前致谢

使用add(一次添加一个元素)或addAll多个一次任意数量的元素)方法添加到一组。

扩展:

QueryBuilder.add不支持BindMarker。添加set时使用BindMarker,只需要使用QueryBuilder.addAll*

*请注意,Collections.singleton在这方面可能会派上用场。