2017-10-14 93 views
0

我想在java语言的rethinkdb中对我的对象的一个​​属性进行更改。Changefeed on one column RethinkDB

我尝试这样做:

Cursor curs = r.db("mytestdb"). 
          table("tennis"). 
          get(Constants.WORKING_PROJECT_ID). 
           getField("time"). 
           changes(). 
            run(conn); 
    for (Object doc : curs) { 
     System.out.println(doc); 
    } 

,但我得到this com.rethinkdb.gen.exc.ReqlQueryLogicError: Cannot convert STRING to SEQUENCE作为例外。

我真的很新rethinkDB。有人能帮我吗 ?

回答

1

getField("time")得到特定的字段值,您不能订阅价值。 这就是this com.rethinkdb.gen.exc.ReqlQueryLogicError: Cannot convert STRING to SEQUENCE所说的。

你可以想filter变化得到:

Cursor curs = r.db("mytestdb"). 
         table("tennis").get(Constants.WORKING_PROJECT_ID) 
         .filter(row -> row.g("new_val").g("time").ne(row.g("old_val").g("time"))) 
         .changes().run(conn); 

for (Object doc : curs) { 

} 
+0

谢谢您的帮助。不知道你不能订阅一个单一的价值。但是,当我尝试您的发布代码fitler它,我得到这个Exeption'com.rethinkdb.gen.exc.ReqlQueryLogicError:预期类型SEQUENCE,但发现SINGLE_SELECTION:' –

+0

嗯,我从文档https://www.rethinkdb.com/API/JAVA /更改/ – Suvitruf