Sails.js获取多对多关联计数

2022-03-09 00:00:00 node.js sails.js javascript

我有一个与另一个型号(电话)关联的型号(用户)。这种联系是多对多的。以下调用内置于Sails中,使我可以获取特定用户的所有电话记录:

GET - /user/:userId/phones

我希望能够对该调用实现分页,但不知道如何获得结果总数。我已经尝试覆盖蓝图find.js和/或findOne.js以返回计数,但上面的调用似乎没有运行该逻辑。


解决方案

好问题。SAILS使用"连接"模型实现many-to-many关联。它不会显示在您的API/Models文件夹中,但如果需要,您仍然可以查询它。在您的情况下,它将类似于:

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

确切的模型名称取决于您的模型及其via键;确定该名称的最简单方法是运行sails console并执行以下操作:

sails.util.keys(sails.models)

列出系统中的所有型号。

相关文章