【发布时间】:2019-09-26 05:25:49
【问题描述】:
我正在尝试创建一个具有数据一对多关系的简单应用程序。一个站点包含许多位置。我正在使用羽毛 js 和续集(使用 sqlite)。羽毛中的标准GET 功能将返回一个站点或站点列表。但是,我看不出您是如何“假设”返回子记录的。
如果我直接在 sequelize 中执行此操作,我会执行以下操作:
db.Site.findAll({
include: [db.Location]
}).then(function (sites) {
res.status(200).json({
data: sites
});
}).catch(err => res.status(500).send({ error: err }));
从羽毛指南看来,我似乎可以把这个逻辑放在一个钩子中(在标准查询之后?),并用这个查询的结果替换收集的数据(并且数据库调用的数量翻倍)。或者我可以只查询当前siteId 作为parentId 的位置(再次将数据库调用次数加倍)。
但是,我想知道是否有一种更简洁的方式内置到羽毛中,以确保每次进行标准的 GET 调用时,都会包含它的子元素。
【问题讨论】:
标签: typescript feathersjs feathers-sequelize feathers-hook