【问题标题】:Changefeed on one column RethinkDB在一列 RethinkDB 上更改提要
【发布时间】:2017-10-15 02:21:05
【问题描述】:

我想在 Java 语言的 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 真的很陌生。有人可以帮我吗?

【问题讨论】:

    标签: java 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) {
    
    }
    

    【讨论】:

    • 感谢您的帮助。不知道您不能订阅单个值。但是当我尝试将您发布的代码进行调整时,我得到了这个 Exeption ´com.rethinkdb.gen.exc.ReqlQueryLogicError: Expected type SEQUENCE but found SINGLE_SELECTION:´
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多