【发布时间】:2017-11-10 17:15:33
【问题描述】:
我在 mongo 数据库中有一个树结构来满足我的需要。树节点由其路径标识:根节点路径为
#<id>
子节点在其路径中描述其完整的层次结构:
#<id of parent>#<id of parent>#<id>
例如,我可以拥有以下树:
#a
|_#a#b
| |_#a#b#1
| |_#a#b#2
|_#a#c
|_#a#c#1
|_#a#c#1#x
我目前的方法是使用 $regex 获取树节点的所有子节点。应用到
#a#c
在这种情况下会返回以下节点
#a#c#1
#a#c#1#x
现在我正试图找到一种方法来只找到我的树的叶子。所以将它应用到同一个节点我只会得到:
#a#c#1#x
我可以获取完整列表,然后删除“组”元素,但这并不聪明,不是吗?
编辑,因为问题过于简单:
谢谢万,下面提供的解决方案回答了我在结构中的元素有一个包含父级路径的字段“父级”时提出的问题。
就我而言,我有一个字段“父”,但它包含父的 id,而不是它的 路径。
下一个问题是你如何connectToField 来修改字段?就我而言,我不想连接到字段父级,而是想连接到#hierarchy of parent#id of parent
是否可以对查询结果进行某种形式的预格式化,以便 parent 包含路径而不是 id?
【问题讨论】: