Ely*_*s74 5 javascript tree mongodb node.js
我有这样的数据集合(例如):
{
    name : "john" ,
    _id : "0"
},
{
    name : "Richard" ,
    parent_id : "0" ,
    _id : "1"
},
{
    name : "Kevin" ,
    parent_id : "0" ,
    _id : "2"
},
{
    name : "William" ,
    parent_id : "1" ,
    _id : "3"
},
{
    name : "George" ,
    parent_id : "3" ,
    _id : "4"
}
我正在尝试编写一个函数来接收_id并返回该节点任何深度的所有子节点,例如_id = 0我需要这样的东西:
[
    {
        name : "Richard" ,
        parent_id : "0" ,
        depth : "1" ,
        _id : "1"
    },
    {
        name : "Kevin" ,
        parent_id : "0" ,
        depth : "1" ,
        _id : "2"
    },
    {
        name : "William" ,
        parent_id : "1" ,
        depth : "2" ,
        _id : "3"
    },
    {
        name : "George" ,
        parent_id : "3" ,
        depth : "3" ,
        _id : "4"
    }
]
我编写了几个递归函数来迭代我的 mongodb 文档,但主要问题是我无法处理回调(异步)并且不知道何时以及如何结束递归函数。
我怎样才能用 mongodb 和 node.js 做到这一点?任何想法都可能有用,谢谢。