Sails.js获得多对多的关联计数

时间:2015-03-27 18:38:23

标签: javascript node.js sails.js

我有一个与另一个型号(手机)有关联的型号(用户)。这种关联很多。以下调用内置于Sails,允许我获取特定用户的所有电话记录:

GET - /user/:userId/phones

我希望能够在该调用上实现分页,但无法弄清楚如何获得结果总数。我已经尝试覆盖蓝图find.js和/或findOne.js以返回计数,但上面的调用似乎没有通过该逻辑。

1 个答案:

答案 0 :(得分:8)

好问题。 Sails使用" join"来实现many-to-many个关联。模型。它不会显示在 api / models 文件夹中,但如果需要,您仍然可以查询它。在你的情况下,它将是这样的:

sails.models['user_phones__phone_users'].count({user_phones: userId}).exec(...)

确切的型号名称取决于您的型号及其via键;解决问题的最简单方法是运行sails console并执行:

sails.util.keys(sails.models)

列出系统中的所有模型。