1

猫鼬中,

我可以声明模式,也可以使用

数据库参考

这只是将ObjectId 或 ObjectId 数组

填充(获取)这些项目。

我认为当需要删除 DBRef时会出现问题。

有什么方法可以同步删除 DBref吗?

例如

  1. 从数组中删除 DBRef 应该删除其他集合中的 DBRef 并且还从不同集合中的 DBRef 数组中拉出该 DBRef
  2. 删除文档(从该文档的 Schema 中删除 DBRef)也会删除其他集合中的 DBRef,并且还会从不同集合中的 DBRef 数组中拉出该 DBRef

这些可能吗?如果是这样,我怎样才能实现这些?或任何其他模型设计建议

4

1 回答 1

1

您可以使用schema.pre('remove', ... 中间件来实现您自己的级联删除其他集合中的 ObjectId 引用。 this._id标识要在中间件函数中删除的文档。

于 2012-07-17T14:07:06.633 回答