gpt4 book ai didi

MongoDB - 如何获取包含 child 数量的文档

转载 作者:行者123 更新时间:2023-12-02 16:58:52 26 4
gpt4 key购买 nike

我有这样一个文档结构:

{ 
_id:
name:
parent:
}

我有一些文件,其中一些文件有一个 parentID(就像一棵树)。我想根据 ID 获取一个文档,还想获取该特定文档的子项数量。

例如:

{ 
_id:1
name: 1
parent:
}
{
_id:2
name: 2
parent: 1
}
{
_id:3
name: 3
parent: 1
}

我想通过 id 1 查找并得到类似这样的东西

{ 
_id:1
name: 1
parent:
childCount: 2
}

这可能吗?

亲切的问候

最佳答案

你可以自己做 $lookup 来计算 child 的数量

db.tp1.aggregate([
{$lookup: {from:"tp1", localField : "_id", foreignField: "parent", as: "children"}},
{$addFields:{children : {$size : "$children"}}}
])

结果

{ "_id" : 1, "name" : 1, "parent" : null, "children" : 2 }
{ "_id" : 2, "name" : 2, "parent" : 1, "children" : 0 }
{ "_id" : 3, "name" : 3, "parent" : 1, "children" : 0 }

关于MongoDB - 如何获取包含 child 数量的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55092950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com