我正在考虑使用类似于https://docs.mongodb.com/manual/tutorial/model-tree-structures-with-parent-references/
的mongo db设计保证我们不在文档结构中创建循环的最佳做法是什么?
即。 A是B的父,B是父C,C是A的父母
我们有两个想法,一个是创建一个模式对象,这样我们就需要定义类型B可以有一个类型为A的父类。这个调用可以在模式对象的POST中进行验证。连续创建类型B的节点只会使父类型为A。
另一个想法是在内存中(可能有几千个节点的相对较小的DB),我通过搜索树进行内存检查,以确保添加的新节点不会形成树中的一个循环。
我是否误用了mongo?我猜这是我真正的问题。我正在使用这种结构,因为它创建了非常好的快速查询,因为我存储了单个节点。然而,存在创建损坏数据的担忧。