默认情况下,当访问相应的API路由时,Sails会填充模型内的所有关联。有人知道是否可以切换此功能吗?如果我正在处理一对多的关联,可能不想在列出所有项目时填充关联以提高性能。但是,在查看单个项目时,完成填充将很好。
例如,假设一个工单可以有多个评论。当获取案例列表时,我不关心评论,但在查看特定案例时,评论就很重要了。我猜测它的功能如下,但失败了:
这将覆盖蓝图配置中定义的
例如,假设一个工单可以有多个评论。当获取案例列表时,我不关心评论,但在查看特定案例时,评论就很重要了。我猜测它的功能如下,但失败了:
localhost:1337/tickets?populate=false
更新
我在 balderdashy/sails#1695 中实现了上述功能。唯一的变化是你可以使用以下方式有选择性地选择要填充哪些关联:
localhost:1337/tickets?populate=[] // Don't populate anything
localhost:1337/tickets?populate=[comments] // Only populate comments
这将覆盖蓝图配置中定义的
populate
内容。
User.findOne(user.id).populate('userFriends').exec(...)
(这只是我脑海中的一个小例子)。 - the-layconfig/blueprints.js
中指定了populate = false
。 - Jason Sims?populate=false
在我这里也适用(使用 sails-mysql 适配器)。 - Alexis N-o