RethinkDB 错误:SyntaxError: missing ) 在参数列表之后

Posted

技术标签:

【中文标题】RethinkDB 错误:SyntaxError: missing ) 在参数列表之后【英文标题】:RethinkDB error: SyntaxError: missing ) after argument list 【发布时间】:2016-10-25 12:34:58 【问题描述】:

您好,我是 RethinkDB 的新手,遇到连接查询问题。每当我运行查询时,都会出现以下错误:

SyntaxError: missing ) after argument list

以下是我的查询:

r.db("test")
    .table("posts")
    .innerJoin(

        r.db("test")
        .table("user")
        .filter(
            "username": "super_admin"
        ),

        lambda posts,

        user: posts["user_id"] == user["id"]
    )
    .zip()

【问题讨论】:

【参考方案1】:

您似乎正试图在 javascript 解释器中运行 Python 代码。

等效的 JavaScript 代码可能是:

r.db("test").table("posts").innerJoin(
  r.db("test").table("user").filter(
    "username": "super_admin"
  ),function(posts, user)
    return posts("user_id").eq(user("id"))
  ).zip()

附带说明一下,可以使用eqJoin 而不是innerJoin 来优化查询,也可以使用索引而不是filter

【讨论】:

【参考方案2】:

放一个分号; zip() 之后;

【讨论】:

以上是关于RethinkDB 错误:SyntaxError: missing ) 在参数列表之后的主要内容,如果未能解决你的问题,请参考以下文章

不向 rethinkdb 插入数据

如何在 Ubuntu 上卸载 RethinkDB?

RethinkDB:​​更新文档

Rethinkdb复制和数据一致性

RethinkDB:​​根据过滤字段过滤文档

socket.io vs RethinkDB changefeed