RethinkDB:​​合并两个表,如果一个不包含其他的关键

我正在合并两个表。表1的主键存在于表2中,但是在某些情况下,表2中没有关键的外键。存在没有键的错误。 我只想在表中存在关键字的情况下合并表;

r.table('sport').filter({sport_id:sport_id}).merge(function(doc){ return { terminology: r.table('sport_terminology').get(doc("terminology_id")) } }) .run(conn, sport); 

现在,如果运动不包含术语作为关键,而不是射击错误。 如果密钥不存在,请给我解决scheme合并绕过

你的问题有点不清楚,你有什么麻烦,因为你没有发布你得到的例外。

我假设对于一些文档,你会得到一个“没有属性”terminology_id“的对象”。 如果是这种情况,只需添加一个default() ,例如:

 r.table('sport').filter({sport_id:sport_id}).merge(function(doc) { return { terminology: r.table('sport_terminology') .get(doc("terminology_id").default(null)) } }) 

如果不是这种情况,请发布错误信息。