我想将自定义属性添加到标准Bookshelf.js响应对象。在这种情况下,目标是fetchAll()
区域并将属性link
附加到每个区域。链接的价值只是/some/api/route/${region.id}
。
我相信有两种方法可以实现这一点:(1)修改为Regions模型,包含一些函数getRegionLink()
来生成所需的值;或(2)迭代并修改响应对象。我认为(1)是首选,但我可以想象何时(2)可能是必要的。
在这种情况下,我无法弄清楚如何做(2)。 Bookshelf.js docs声明_.each()是可用的,尽管lodash docs每个都赞成forEach。但是,以下内容没有按预期工作。发生一些错误。在相关的说明中,err
对象在Postman上记录为空。
地区服务
Region.forge()
.fetchAll()
.then(regions => {
_.forEach(regions, region => {
region.link = `${API_BASE}/location/regions/v1/${region.id}`;
});
res.json(regions);
.catch(err => {
res.status(404).json(err);
});