Mongodb 是否删除依赖于morphia中已删除引用的所有记录?

Mongodb 是否删除依赖于morphia中已删除引用的所有记录?,mongodb,morphia,cascading-deletes,Mongodb,Morphia,Cascading Deletes,我在foo和bar之间有一对多的关系。我想确保每当一个foo被删除时,引用它的所有条也会被删除。有没有办法确保这会发生在morphia?我可以编写delete查询来查找所有依赖对象并将其删除,但问题是bar对象也有引用它们的东西,我想删除它们,我希望确保删除逻辑自动级联。您必须发出单独的delete调用来删除引用的文档。Mongo不支持关系或级联删除。您可以考虑嵌入这些文档,而不是使用引用。删除指针时,将有空引用。因此,如果有其他指针指向同一个指针,这些指针将有一个空引用;他们没有指向任何地方。

我在foo和bar之间有一对多的关系。我想确保每当一个foo被删除时,引用它的所有条也会被删除。有没有办法确保这会发生在morphia?我可以编写delete查询来查找所有依赖对象并将其删除,但问题是bar对象也有引用它们的东西,我想删除它们,我希望确保删除逻辑自动级联。

您必须发出单独的delete调用来删除引用的文档。Mongo不支持关系或级联删除。您可以考虑嵌入这些文档,而不是使用引用。

删除指针时,将有空引用。因此,如果有其他指针指向同一个指针,这些指针将有一个空引用;他们没有指向任何地方。但是,如果条形指针指向foo指向的位置,或者它们都指向同一内存位置,则条形指针将继续引用同一内存。要在删除后检查当前参考,只需打印其值。应该是null或0引用。我了解默认行为,但不希望使用默认行为。我希望所有的foo指向bar的点在bar出现时完全消失,而不必检查bar引用或将其作为单独的查询删除。我认为mongo可能已经通过优化来支持这一点,以使其更高效,因为这似乎是一个常见的用例。我不太相信morphia支持它,如果它支持的话,我不知道该怎么做,但我想我会要求看:)我害怕你会这么说,但我不得不问,以防有选择。谢谢你证实我的怀疑。嵌入最终可能会发生,目前我正在尝试最小化对现有mongo结构的更改。我以后会记住的。