Feathersjs 过滤结果
Feathersjs filter results
我已经使用 this chat application guide 作为基础创建了一个 node/feathers 项目。它工作得很好,但现在我想过滤 api 给出的结果。例如,当用户向 /messages 发出 GET 请求时,我希望响应仅包含授权用户创建的消息,而不是其他任何人的消息。 Auth 在 api 中正常工作,消息项具有创建消息的用户 ID,但我只是不明白我应该做什么以及在哪里根据用户 ID 过滤消息。经过几个小时的谷歌搜索,我找不到与此相关的任何内容,甚至没有人问这个问题,所以我在这里错过了什么?
您可以进行手动过滤。 before
和 after
挂钩。 How to use hooks。
在挂钩之前,您可以创建一个函数,将查询对象更新为仅 get/find 它拥有的数据。
hook.params.query = { ... , ownedBy: hook.params.user._id }
或者在 after hooks 中进行结果过滤,你有 hook.result
这是你唯一可以在 after hooks 中操作的东西。然后你可以使用Array.prototype.filter()来过滤用户得到的结果。
我已经使用 this chat application guide 作为基础创建了一个 node/feathers 项目。它工作得很好,但现在我想过滤 api 给出的结果。例如,当用户向 /messages 发出 GET 请求时,我希望响应仅包含授权用户创建的消息,而不是其他任何人的消息。 Auth 在 api 中正常工作,消息项具有创建消息的用户 ID,但我只是不明白我应该做什么以及在哪里根据用户 ID 过滤消息。经过几个小时的谷歌搜索,我找不到与此相关的任何内容,甚至没有人问这个问题,所以我在这里错过了什么?
您可以进行手动过滤。 before
和 after
挂钩。 How to use hooks。
在挂钩之前,您可以创建一个函数,将查询对象更新为仅 get/find 它拥有的数据。
hook.params.query = { ... , ownedBy: hook.params.user._id }
或者在 after hooks 中进行结果过滤,你有 hook.result
这是你唯一可以在 after hooks 中操作的东西。然后你可以使用Array.prototype.filter()来过滤用户得到的结果。