嗨,我正在使用带有 rethinkdb 的 javascript,并且我试图弄清楚当目标的 id 不在主表上而是在第二个表上时如何使用 eqJoin。
网站上的示例显示了这一点。
first table /players
[{name: 'anna', gameID:1}]
second table /games
[{id: 1, gameName: 'supergame'}]
但我想加入的是这个
first table / players
[{id 1, name: 'anna'}]
second table / games
[{playerID: 1, gameName:'supergame'},
{playerID: 1, gameName:'megagame'},
{playerID: 1, gameName:'lamegame'}]
我已经阅读了一些关于 concatMap 的内容并尝试了这个,但这显然给了我错误,还有其他方法吗?
如果有的话,我什至可以加入更多的桌子吗?
r.table("players").concatMap(function(play) {
return r.table("games").getAll(
play("id"),
{ index:"playerID" }
).map(function(games) {
return { left: play, right: games }
})
}).run(conn, callback)