在Sails.js中通过关系填充多对多

时间:2015-03-25 11:49:08

标签: javascript sails.js

Sails.js提供了一种通过Blueprint API填充多对多关系中对象的方法。因此,GET /categorymodel/:categoryid/productscollection将返回属于指定类别的所有产品。 Link

对于多对多通过关系,文档建议通过中间模型使用多个一对多关系来实现所需的组织。缺点是没有办法通过内置的Blueprint API填充对象。 Link

因此,在查询属于特定类别的产品时,我查询GET /categorymodel/:categoryid/intermediarycollection以获取类似

的内容
[{categoryid: 1, productid: 1, id: 1}, {categoryid: 1, productid: 2, id: 2}, {categoryid: 1, productid: 3, id: 3}, ... n]

这意味着客户端必须GET /products/:productid次。

如何在发送到客户端之前处理populate()结果(而不是编辑/覆盖它)以添加产品对象?有没有更好的方法呢?

1 个答案:

答案 0 :(得分:0)

是的!这是有可能的,但它有点像黑客..?

蓝图的底层行为是从数据库调用结果res.ok。如果我们更改了res.ok的行为,并添加了过滤器或类似的自定义需求,该怎么办?

详细了解此答案:https://stackoverflow.com/a/41932352/36975