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

时间:2016-12-07 12:57:13

标签: node.js database 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);

现在,如果运动不包含术语作为关键而不是发射错误。如果密钥不存在,请给我合并旁路的解决方案

1 个答案:

答案 0 :(得分:2)

您的问题有点不清楚您遇到了什么问题,因为您还没有发布您正在获得的例外情况。

我认为对于某些文档,您可以获得" No属性" 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))
  }
})

如果不是这样,请发布错误消息。

相关问题