我有一个Category
模型,它的唯一属性是name
.
还有一个SubCategory
模型,它有一个包含模型名称name
的category
字符串字段Category
。
当Category
模型name
更改时,SubCategory
指向该类别的每个都应更新其category
字段以匹配新名称。
我目前正在通过获取SubCategories
指向某个类别的所有内容、遍历它们并更新它的类别字段来直接在路由处理程序上实现这一点。
我想在模型中实现这个逻辑,它应该属于。
Category
我在模型上创建了一个预中间件,
CategorySchema.pre('save', function(next) {
console.log('Saving ' + this.name);
next();
});
负责PUT
请求的路由处理程序使用更新后的名称保存模型,如下所示:
...
parentCategory.name = requestedName;
parentCategory.validate(function(validationError) {
if (validationError) {
return res.send(response.BAD_REQUEST);
}
parentCategory.save(function(saveError) {
if(saveError) {
return res.send(response.SERVER_ERROR);
}
});
});
...
但是我打印了新名称,所以我无法迭代它的子类别,因为我只能访问新名称。
我不确定我应该如何将旧名称和新名称都传递给中间件以在那里做这些事情。