Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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中更改pre(';validate';)中间件中的字段是否正确?_Node.js_Express_Mongoose_Middleware_Slug - Fatal编程技术网

Node.js 在mongoose中更改pre(';validate';)中间件中的字段是否正确?

Node.js 在mongoose中更改pre(';validate';)中间件中的字段是否正确?,node.js,express,mongoose,middleware,slug,Node.js,Express,Mongoose,Middleware,Slug,我需要在每次将帖子保存到数据库时生成slug。在Post.create和Post.save上指定。在PostShema.pre('validate')中间件中,我可能需要这样一个地方,如下所示: PostSchema.pre('validate', function (next) { this.slug = sluglify(this.title); return next(); }); 除了在validatemiddlweare中发生之外,所有操作都可以正常工作,只应检查而不应设

我需要在每次将帖子保存到数据库时生成slug。在
Post.create
Post.save
上指定。在
PostShema.pre('validate')
中间件中,我可能需要这样一个地方,如下所示:

PostSchema.pre('validate', function (next) {
   this.slug = sluglify(this.title);
   return next();
});
除了在
validate
middlweare中发生之外,所有操作都可以正常工作,只应检查而不应设置


因此,我的问题是,在创建或更新帖子时,我应该将我的代码存放在哪里?这不是在验证中发生的,而是在验证之前发生的。依我看,这就像是在验证对象之前,您正在预筛选/清理对象;没关系


如果您觉得更容易理解,可以将其包含在
预保存
预初始化
中,而不是
预验证

中,问题是我不准备/清理对象,而是设置新字段。那么您认为在
预(“验证”)中使用格式正确吗?