12

在 MongoDB 中有没有办法拥有一个具有“ON DELETE CASCADE”功能的外键?

我知道您可以使用 DBRef 作为一种外键,但是当集合中引用指向的项目被删除时,引用返回 null。但我希望引用所属的项目被删除。我该怎么做呢?

还是每次我删除东西时都需要检查对它的引用?

4

2 回答 2

9

这个功能现在不存在。如果你想要的话。将其添加到 MongoDB Bugtracker

http://jira.mongodb.org

于 2010-06-25T07:04:23.517 回答
0

没有内置的DELETE CASCADE但您可以编写自己的登录名。这是我的

Category.post('findOneAndDelete', async document => {
  if (document) await Stock.findOneAndDelete({ categoryId: document._id });
});

详细信息:如果类别将删除,我必须删除库存项目。所以我post middleware在 Category delete 上使用,在那个中间件中我找到了具有该类别的 Stock Item 并将其删除。

于 2022-02-17T07:28:02.330 回答