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

Populating a Many to Many Through Relation in Sails.js

本文关键字:关系 填充 Sails js      更新时间:2023-09-26

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

对于多对多直通关系,文档建议通过中介模型使用多个一对多关系来实现所需的组织。这样做的缺点是无法通过内置的Blueprint API填充对象。链接

因此,在查询属于特定类别的产品时,我查询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 n次。

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

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

蓝图的底层行为是对数据库中的结果调用res.ok。如果我们改变了res.ok的行为,并添加了一个过滤器或类似的自定义需求,会怎么样?

查看此答案以了解更多详细信息:https://stackoverflow.com/a/41932352/36975