node.js - Sequelize - 有什么方法可以进行数据抽象/过滤吗?

标签 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 永远不会看到另一个用户的信息。这就是目标。

这可能吗?我乐于接受建议。

提前致谢。

最佳答案

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

因为作用域可以是函数:

Scopes are defined in the model definition and can be finder objects, or functions returning finder objects

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

我还没有实现这个确切的范围,但如果有人需要帮助,我很清楚如何解决它。

关于node.js - Sequelize - 有什么方法可以进行数据抽象/过滤吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43617893/

相关文章:

node.js - 从S3存储桶流式传输视频

node.js - Onceler 给出了错误的 token (bitskins api)

java - 有没有办法将 Postgres 的 UUID 生成与 Hibernate 的 IDENTITY ID 生成策略结合使用?

mysql - 从 MS Access 移植

php - 删除 Doctrine 中的记录

php - Doctrine 映射字段不起作用

node.js - 使用 cypress.io 进行 SSR react 应用程序 e2e 测试的模拟服务器

javascript - Node.js 客户端连接后立即断开连接

postgresql - 如何在 postgres 查询中排名

php - 如何让当前用户进入我的实体类?