首页 > 解决方案 > 如果文档被引用到 Mongodb 中的另一个文档,则永远不应删除该文档

问题描述

我是 MongoDB 的新手,遇到了一个问题。基本上,当一个文档(即 A)被引用到另一个文档(即 B)时。文档 A 永远不应该被删除。但是,如果我首先删除 B,那么只有我应该能够删除 A,因为现在 A 没有被引用到任何其他文档。

我尝试过使用 pre 中间件,这里是我的代码


    model.collection('inventory').pre('deleteOne', function(next) {
       model.collection('inventory').Inventory.deleteOne({_id: this.id}, { _id: { $ne: this.id } }, {multi: 
        true});
    });

下面是架构

```
schema 1:
{
_id: 1,
parent_id: null;
name: A
}

schema 2:
{
_id: 2,
parent_id: 1;
name: B
}
```

我认为可以通过前置中间件的方法来实现。请帮助我编写代码以实现我的结果。我也对另一种方法持开放态度。

谢谢你

标签: javascriptnode.jsmongodbexpressmongodb-query

解决方案


推荐阅读