环回关系永远不会返回值

时间:2018-03-08 15:23:07

标签: node.js entity-relationship loopbackjs api-design strongloop

我最近开始使用LoopBack来构建我们自己的API。它基于Mongo DB(对我来说也很新)。 我试图配置多个关系(我尝试了不同的类型),我从来没有得到响应的结果。 它似乎正确配置,好像我检查了资源管理器,我在示例值中看到了关系。

例如,我有公司,与一个公司集团有关:

- Company" Belongsto CompanyGroup
- CompanyGroup hasMany Company

这是我在模型中配置的关系

在Company.json

"relations": {
    "companyGroup": {
      "type": "embedsOne",
      "model": "companyGroup",
      "foreignKey": "groupId",
      "primaryKey": "",
      "property": "group"
    }
  },

在company-group.json

"relations": {
    "companies": {
      "type": "hasMany",
      "model": "company",
      "foreignKey": "groupId",
      "options": {
        "nestRemoting": false
      }
    }
  },

如果我检查资源管理器,我会看到示例值中配置的关系:

[
  {
    "id": "string",
    "name": "string",
    "groupId": "string",
    "logo": "string",
    "isGroupManager": true,
    "createdAt": "$now",
    "updatedAt": "$now",
    "group": {
      "name": "string",
      "createdAt": "2018-03-08T14:38:51.155Z",
      "id": "string"
    }
  }
]

但任何回复都会错过公司集团部分:

{
"id": "5a9ea3fc6d48a58bb619d180",
"name": "Agency (BXL)",
"groupId": "5a9ea3fc6d48a58bb619d17f",
"createdAt": "2018-03-06T14:21:48.322Z",
"updatedAt": "2018-03-06T14:21:48.322Z"

},

我配置错误了什么?我应该在哪里看?我有一个最近更新版本的loopback 谢谢!

劳伦

1 个答案:

答案 0 :(得分:1)

如果您在回复中获得了组ID,并且也想在响应中使用组实例,则可以使用包含过滤器。

https://loopback.io/doc/en/lb3/Include-filter.html

在您的情况下,您可以使用GET之类的请求,如下所示

/api/companies/{comp_id}?filter={"include":{"group":true}}

/api/companies/{comp_id}?filter={"include":["group"]}

/api/companies?filter[include]=group