我必须使用mongodb创建一个树结构,在官方文档建议的四种方法(父代引用、子代引用、祖先数组、物化路径、嵌套集)中,我决定使用array of ancestors,因为树的层次非常深,可能会有几千层甚至更多因此,我认为可以通过更快的速度来补偿存储中的损失,因为在查找节点的所有父节点时,需要的查询更少。
问题是树必须是严格的二进制的。因此,例如,节点1将只有节点2和节点3作为其子节点,并且不会更多。不幸的是,我现在能想到的唯一方法是找到所有引用了我想在下一个文档中引用的特定父级的文档,如果计数不超过2,我就插入引用目标父级