Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js sequelize是否有用于标记化的拦截器模式&;对数据库中的敏感数据进行解密_Node.js_Sequelize.js - Fatal编程技术网

Node.js sequelize是否有用于标记化的拦截器模式&;对数据库中的敏感数据进行解密

Node.js sequelize是否有用于标记化的拦截器模式&;对数据库中的敏感数据进行解密,node.js,sequelize.js,Node.js,Sequelize.js,我正在为postgres使用sequelize,需要对所选字段的表进行标记化,以便在存储之前和检索之后分别进行标记化和去标记化 我可以在单个位置执行此操作,而不是在每个模型的创建/更新/获取挂钩上执行此操作,是否有任何建议的最佳实践 我正在寻找一种类似于拦截器模式的东西,它可以在sequelize实例级别一次用于所有模型。可能吗 对于sequelize模型的属性,您正在寻找的功能听起来像是getter和setter。您可以使用自定义的getter和setter声明模型,如下所示 const Yo

我正在为postgres使用sequelize,需要对所选字段的表进行标记化,以便在存储之前和检索之后分别进行标记化和去标记化

我可以在单个位置执行此操作,而不是在每个模型的创建/更新/获取挂钩上执行此操作,是否有任何建议的最佳实践


我正在寻找一种类似于拦截器模式的东西,它可以在sequelize实例级别一次用于所有模型。可能吗

对于sequelize模型的属性,您正在寻找的功能听起来像是
getter
setter
。您可以使用自定义的
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
          }
    }
}

我想使用beforeQuery和afterQuery挂钩可能会有所帮助。。将检查并确认。beforeQuery和afterQuery都是在命中数据库之前执行的。db返回结果后,没有可供调用的钩子。。还是有一个?没有。如果它是一个模型级的,我会同意的。但我们需要它的所有型号。db返回记录后调用的钩子…@ubreddy-你能找到解决方案吗?