环回 return PU/UPSERT 上的现有记录
Loopback return an existing record on PU/UPSERT
我有以下 PostGreSQL 位置 table:
--------------------
| ID | Name |
--------------------
| 1 | Kitchen |
--------------------
| 2 | Bedroom1 |
--------------------
ID 是顺序 PQ,Name 具有唯一约束。
Locations.json 名字 属性 有
"index": {
"unique": true
},
并且Locations.js包括Location.validatesUniquenessOf('Name');
如果我 运行 PUT
反对 Locations
与 JSON { "Name":"Kitchen" }
我得到一个 422 验证错误,这很好,但理想情况下我会同时获得现有的 Kitchen 记录(或至少是 ID)。我可以通过一个 REST 调用在环回框架中执行此操作吗?
您可以使用自定义远程方法扩展 API,然后在您的模型上使用 findOrCreate 方法 return 找到或创建实例作为响应。
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
});
我有以下 PostGreSQL 位置 table:
--------------------
| ID | Name |
--------------------
| 1 | Kitchen |
--------------------
| 2 | Bedroom1 |
--------------------
ID 是顺序 PQ,Name 具有唯一约束。
Locations.json 名字 属性 有
"index": {
"unique": true
},
并且Locations.js包括Location.validatesUniquenessOf('Name');
如果我 运行 PUT
反对 Locations
与 JSON { "Name":"Kitchen" }
我得到一个 422 验证错误,这很好,但理想情况下我会同时获得现有的 Kitchen 记录(或至少是 ID)。我可以通过一个 REST 调用在环回框架中执行此操作吗?
您可以使用自定义远程方法扩展 API,然后在您的模型上使用 findOrCreate 方法 return 找到或创建实例作为响应。
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
});