Node.js 修改mongoose预验证钩子中的数据
我想在mongoose验证文档字段之前修改其数据,如下所示:Node.js 修改mongoose预验证钩子中的数据,node.js,mongodb,mongoose,mongoose-schema,Node.js,Mongodb,Mongoose,Mongoose Schema,我想在mongoose验证文档字段之前修改其数据,如下所示: mySchema.pre("validate", function (next) { this.myField = "yay a new value prior to validation" // doesn't work for me next(); }); 不幸的是,这对我不起作用。上面的例子被简化了,在我的项目中,我试图防止ObjectParameterError崩溃我的服务器
mySchema.pre("validate", function (next) {
this.myField = "yay a new value prior to validation" // doesn't work for me
next();
});
不幸的是,这对我不起作用。上面的例子被简化了,在我的项目中,我试图防止ObjectParameterError崩溃我的服务器,在预验证钩子中分配值对我来说不起作用。尝试使用mongoose文档的.set()
方法访问值。您的代码应该这样更改
mySchema.pre(“验证”,函数(下一步){
此.set(“myField”,“在验证之前是一个新值”)
next();
});
在试图保存文档的位置添加代码。