Loopback返回PU / UPSERT上的现有记录

时间:2015-05-19 09:09:59

标签: postgresql loopbackjs upsert

我有以下PostGreSQL位置表:

"index": {
    "unique": true
 },

ID是一个顺序PQ,Name具有唯一约束。

Locations.json名称属性

Location.validatesUniquenessOf('Name');

Locations.js包含PUT

如果我使用JSON {Locations针对"Name":"Kitchen" }运行{{1}},我会收到422验证错误,这很好,但理想情况下我会获得现有的Kitchen记录(或者至少ID)同时。我可以在一个REST调用的环回框架中执行此操作吗?

1 个答案:

答案 0 :(得分:2)

您可以使用自定义远程方法扩展API,然后在模型上使用findOrCreate方法将找到或创建的实例作为响应返回。

http://docs.strongloop.com/display/public/LB/Remote+methods#Remotemethods-Howtodefinearemotemethod

http://docs.strongloop.com/display/public/LB/PersistedModel+class;#persistedmodel-findorcreate

Location.findOrCreate(
  {where: {"name": "Kitchen"}},
  data,
  function(err, instance){
    if (err){
      console.log(err);
    }
    console.log(instance); //this will be your found or created instace based on query
  });