模型关系定义公约

时间:2016-08-05 09:47:51

标签: model loopbackjs strongloop

正确的环回约定是在模型JSON文件中定义像embedsOne这样的关系,如下所示:

{
  "name": "Customer",
  "base": "PersistedModel",
  "idInjection": true,
  "properties": {
    "name": {
      "type": "string"
    }
  },
  "relations": {
    "address": {
      "type": "embedsOne",
      "model": "Address",
      "property": "billingAddress",
    }
  }
}

或模型的JS文件,如下所示:

Customer.embedsOne(Address, {
  as: 'address', // default to the relation name - address
  property: 'billingAddress' // default to addressItem
});

2 个答案:

答案 0 :(得分:2)

免责声明:我是LoopBack项目的技术负责人。

推荐的方法是通过模型JSON文件定义模型关系,如第一个示例所示。

主要原因是我们的工具(从yo loopbackapic edit)可以读取,理解甚至编辑JSON文件中指定的元数据,但它无法解析/编辑(任意)javascript源代码。

在幕后,代码解释来自模型JSON文件的关系元数据调用像Customer.embedsOne这样的API,因此最终结果是相同的。

答案 1 :(得分:1)

如果您不更改模型结构,则首选第一个。

第二个是对称的。同样在动态结构中,您需要使用第二个