我在一个数组中有一个嵌入式(可更新)树结构 - 考虑到即将$slice
只能选择数组部分的能力,我正在考虑实现一种只显示一个(子)分支的方法树的。
如果我理解正确,为了有效地执行此操作,我必须在树中的每个项目中保存路径(grandparent.parent.child
)。
但是,我看不到管理这些路径的好方法(更新时),看起来这些是我的选择:
答案 0 :(得分:0)
我只是没想到足够深。在插入时我目前只有一个父ID,但是当我开始有路径时 - 我可以使用它们来查找父路径,然后我可以验证父路径的存在方式与我目前正在进行的路径完全相同with parent-id。
这种方法的唯一问题是我需要保存路径,即使对于没有父节点的子节点(root的子节点)也是如此。
然后,我可以使用mongo查询在数组中搜索它们,如果它们不存在,则路径是伪造的,我会停止更新。