我想要实现的是,在删除用户时,所有对该用户的引用都被删除。用户本身有对其他用户的引用。 SportEvents 也有对用户的引用。我创建了以下帖子删除挂钩:
UserSchema.post('deleteOne', async function () {
console.log(this.getFilter()._id);
const User = mongoose.model('User', UserSchema);
const SportEvent = mongoose.model('SportEvent', SportEventSchema);
const deletedUsers = await User.find(this.getFilter());
console.log('deletedUsers', deletedUsers);
const deletedUserId = deletedUsers[0]._id;
console.log('deletedUserId', deletedUserId);
await User.updateMany({}, { $pull: { followingUsers: deletedUserId } });
await SportEvent.updateMany(
{},
{ $pull: { enrolledParticipants: deletedUserId } }
);
});
出于某种原因,当我在邮递员中进行删除 api 调用时,它将永远加载。它似乎没有执行
const deletedUsers = await User.find(this.getFilter());
代码中的一部分。我很困惑为什么它不起作用。有人知道出了什么问题吗?