upsertGraph根据与“ id”不同的列更新行

时间:2019-06-05 12:58:36

标签: javascript node.js objection.js

我有一个包含idsupplier_id列的产品表。

从供应商处获取产品时,如何基于upsertGraph而不是supplier_idid更新行?

现在upsertGraph仅使用插入,因为不存在id属性。

编辑

我从包括idnameprice的几个不同供应商处获取了产品列表

我使用idnamepricesupplier_id

将产品存储在数据库中

因此,我正在尝试基于Supplier_id进行upsertGraph更新/插入,以基于Supplier_id而不是id来更新产品。

这可能吗?

2 个答案:

答案 0 :(得分:0)

没有尝试过,但是我认为您可以使用idColumn

class Supplier extends Model {
  static get idColumn() {
    return 'supplier_id';
  }
}

答案 1 :(得分:0)

否。

根据官方文档的说明,upsertGraph不可能满足您的要求

  

默认情况下,upsertGraph方法更新具有ID的对象,   插入没有ID的对象,并删除所有   不存在。可以通过以下多种方式修改此功能:   提供UpsertGraphOptions对象作为第二个参数。

REF:https://vincit.github.io/objection.js/guide/query-examples.html#graph-upserts

它提到可以修改默认功能,但是不能基于与id不同的列来修改搜索。