我正在尝试在两个表之间建立连接。我正在运行的命令是:
r.table("userclientmap").eq_join("user_id", r.table("users"))
我的'用户'表格如下:
[
{
"email": "nielsen.ruben@gmail.com"
"password": "$2a$10$nO4/KHYkKRcx3D8GYwMCVu.gtsWd1SWzWz27N.TdxqdD9bf.LBXI6"
}
]
我的'userclientmap'表如下所示:
[
{
"client_id": "3c0e6447-ab2f-401e-a09d-d84c32406fe2" ,
"id": "d6356002-9e51-4f82-afb7-49799f7b5ded" ,
"user_id": "nielsen.ruben@gmail.com"
}
]
从管理控制台运行查询时出现以下错误:
无法执行查询。
r.table("userclientmap").eq_join("user_id", r.table("users"))
错误:
TypeError: Object function () {
var args;
args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
if (args.length !== fun.length) {
throw new err.RqlDriverError("Expected " + fun.length + " argument(s) but found " + args.length + ".");
}
return fun.apply(this, args);
} has no method 'eq_join'
我真的不知道从哪里开始。我的查询与http://rethinkdb.com/docs/table-joins/
上的文档完全相同我正在运行rethinkdb版本1.8.1-0ubuntu1~raring(GCC 4.7.3)
答案 0 :(得分:7)
管理界面中的数据资源管理器使用JavaScript,而联接(http://rethinkdb.com/docs/table-joins/)的文档使用Python示例。 eqJoin
是JavaScript驱动程序相当于Python中的eq_join
。
您应该使用:
r.table('userclientmap').eqJoin('user_id', r.table('users'))