node.js - 是否有用于 sequelize 的拦截器模式,用于对 db 的敏感数据进行标记化和去标记化
问题描述
我正在为 postgres 使用 sequelize,并且需要对所选字段的表进行标记化,以分别在存储之前和检索之后进行标记化和去标记化。
任何建议的最佳实践,我可以在一个地方执行此操作,而不是在每个模型的创建/更新/获取挂钩上执行此操作?
我正在寻找类似拦截器模式的东西,它可以在续集实例级别用于所有模型。那可能吗?
解决方案
您正在寻找的功能,听起来像getter
& setter
for sequelize Model 的属性。getter
您可以使用自定义&声明模型,setter
如下所示。
const YourModel = sequelize.define("ModelName", {
secretData: {
type : //Data type
set(value) {
// do what ever processing you want to applied, which will be stored in db
this.setDataValue("secretData", PROCESSED_VALUE)
}
get() {
const storedValue = this.getDataValue("secretData")
// do whatever processing you want to applied, on storedData
return processedData
}
}
}
推荐阅读
- bash - 剪切命令不重定向
- apache-spark - 火花流:执行每日聚合
- c++ - 通过 DirectX12 工具包进行挑选
- android - Parse-SDK-Android:parse:1.24.0 有修复吗
- python - 相对 import_module 不知道包含包的名称
- outlook-addin - 调用方法需要提升权限:'mailbox.getUserIdentityToken'
- jekyll - kernel_require.rb 无法加载此类文件 jekyll
- dotnetnuke - 将 DNN (DotNetNuke) 迁移到 Godaddy Plesk
- acumatica - 如何使用 put 在 acumatica 中上传照片
- google-dfp - 亚马逊与 prebid 并行使用更简单的 GPT 和刷新