Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.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 修改mongoose预验证钩子中的数据_Node.js_Mongodb_Mongoose_Mongoose Schema - Fatal编程技术网

Node.js 修改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崩溃我的服务器

我想在mongoose验证文档字段之前修改其数据,如下所示:

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();
});

在试图保存文档的位置添加代码。