Feathersjs 过滤结果

Feathersjs filter results

我已经使用 this chat application guide 作为基础创建了一个 node/feathers 项目。它工作得很好,但现在我想过滤 api 给出的结果。例如,当用户向 /messages 发出 GET 请求时,我希望响应仅包含授权用户创建的消息,而不是其他任何人的消息。 Auth 在 api 中正常工作,消息项具有创建消息的用户 ID,但我只是不明白我应该做什么以及在哪里根据用户 ID 过滤消息。经过几个小时的谷歌搜索,我找不到与此相关的任何内容,甚至没有人问这个问题,所以我在这里错过了什么?

您可以进行手动过滤。 beforeafter 挂钩。 How to use hooks

在挂钩之前,您可以创建一个函数,将查询对象更新为仅 get/find 它拥有的数据。

hook.params.query = { ... , ownedBy: hook.params.user._id }

或者在 after hooks 中进行结果过滤,你有 hook.result 这是你唯一可以在 after hooks 中操作的东西。然后你可以使用Array.prototype.filter()来过滤用户得到的结果。