scala中的Datastax java-driver QueryBuilder.update问题

时间:2015-05-23 22:10:59

标签: scala query-builder datastax datastax-java-driver

以下是我试图用来更新cassandra数据库中的行的scala代码:

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

基于建议here

除了“.and”之外,一切似乎都能正常工作。我得到的错误是

value and is not a member of com.datastax.driver.core.querybuilder.Assignment

当然,这是正确的,但在声明中应该使用

com.datastax.driver.core.querybuilder.Update.Conditions

其中包含and()

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

我认为您的括号不匹配,您收到错误是因为and不是Assignment的成员,QueryBuilder.set("sinceid", update.sinceId)返回的是sinceId)。您需要在.and之后添加一个额外的括号,以便.with链接Assignments,返回and,其val query = QueryBuilder.update("twitter","tweets") .`with`(QueryBuilder.set("sinceid", update.sinceID)) .and(QueryBuilder.set("tweets", update.tweets)) .where(QueryBuilder.eq("handle", update.handle)) 方法。

以下适用于我:

<button ng-click="showAction()">Show the phone input</button>
<input ng-show="showPhone" ng-model="phone" id="phone">