猫鼬挂钩或表达中间件触发数据库?

时间:2019-04-24 06:46:49

标签: javascript express mongoose

我的猫鼬有这种模式。 我想删除一个作者,该作者将删除所有作者的故事。 中间件表示或中间件猫鼬中做到这一点的最佳方法是什么? 谢谢

geom_sf

2 个答案:

答案 0 :(得分:0)

由于它涉及直接与Mongoose和MongoDB交互,因此建议在Mongoose中间件中进行。这是您从某个Author对象中删除所有stories的方法:

let myAuthor = new Author(/* all the props */);
myAuthor.stories = [];

答案 1 :(得分:0)

您可以使用Mongoose的“删除”中间件。

例如:

 authorSchema.pre('remove', (next) => {
  storySchema.remove({authorSchema_id: this._id}).exec();
  next();
 });

还有documentation