Loopback - 基于id之外的其他属性进行REST upsert / update

时间:2015-01-09 09:06:47

标签: javascript rest loopbackjs

例如,我有环回模型,如下所示:

╔═══════╦════════╗
║ id    ║ Number ║
║ name  ║ String ║
║ prop1 ║ Number ║
║ prop2 ║ Number ║
╚═══════╩════════╝

支柱1 支柱2 的组合必须是唯一的。

然后我有一个看起来像这样的记录:

╔═══════╦═════╗
║ id    ║ 22  ║
║ name  ║ Foo ║
║ prop1 ║ 2   ║
║ prop2 ║ 4   ║
╚═══════╩═════╝

我不想通过ID,但通过 prop 1 prop 2 的组合。例如,当我发送实体

{
    "name": "Bar",
    "prop1": 2,
    "prop2": 4
}

它应该找到 prop1 prop2 组合的记录,并将名称更改为。如果尚未存在具有此组合的记录,则应创建新记录。

有一个REST方法(方法:PUT,路径:'/'),它只按ID进行upsert(据我所知)。

2 个答案:

答案 0 :(得分:3)

本文档描述了使用Loopback执行此操作的正确方法:

https://docs.strongloop.com/display/public/LB/PersistedModel+REST+API#PersistedModelRESTAPI-Updatemodelinstanceattributes

您必须执行POST请求,而不是PUT,才能通过开箱即用的Loopback行为来完成此操作,如下所示:

....
WHERE month LIKE '2015%';

答案 1 :(得分:-1)

致电

/?filter[where][prop1]=2&filter[where][prop2]=4

使用PUT方法和

{
    "name": "Bar"
}

体。

来源:http://docs.strongloop.com/display/public/LB/PersistedModel+REST+API