Sequelize - 有没有办法进行数据抽象/过滤?

时间:2017-04-25 18:00:44

标签: node.js postgresql doctrine filtering sequelize.js

首先,我很抱歉,如果我重新发帖,但我找不到任何相关内容。

我正在处理处理非常敏感数据的应用程序。我想根据用户的角色过滤这些数据。

我已经使用Doctrine Filters完成了这项工作(在另一项工作中),但我无法使用Sequelize(通过PostgreSQL)找到有关如何执行此操作的任何信息。

例如:

sensitive_information:

| user_id | sensible_value |
+---------+----------------+
| 1       | something      |
| 2       | something_else |

我需要这个:

SELECT *
  FROM sensitive_information
  WHERE user_id = 1; /** I need this to be added automatically in all
                         queries to sensitive_information */

因此,用户1永远不会看到其他用户的信息。这就是目标。

有可能吗?我愿意接受建议。

提前致谢。

1 个答案:

答案 0 :(得分:0)

这可以通过使用Sequelize scopes来解决。

因为范围可以是函数:

  

范围在模型定义中定义,可以是查找器对象,也可以是返回查找器对象的函数

定义一个根据登录用户过滤信息的范围很容易。

我还没有实现这个范围,但是我对如果有人需要帮助时如何解决这个问题有一个很好的主意。