我最近开始使用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 谢谢!
劳伦
答案 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