如何使用预存在Mongoose中的文件来更改文件

我正在尝试将预处理程序分配给mongoose保存事件,并在保存之前对文档进行encryption:

userShecma.pre('save', function(next) { var self = {}; self.Key = this.password;; self.EncriptedString = encrypt.encrypt(JSON.stringify(this), this.password); self.user = this.user self.decrypt = function() { var user = JSON.parse(encrypt.decrypt(this.EncriptedString, this.Key)); for(var key in user) { this[key] = user[key]; } } for(var key in this){ delete this[key]; } for(var key in self){ this[key] = self[key]; } console.log(this); next(self); }); 

我尝试了一堆不同的东西,有时我得到一个错误,有时它只是不改变文档。

让我知道如果你需要更多的信息,
阿里

编辑:试了Benoir的答案,我不能编辑this

       

网上收集的解决方案 "如何使用预存在Mongoose中的文件来更改文件"