mongodb - MongoDB中的类别层次结构
问题描述
我的文档结构如下:
[
{
"_id": ObjectId("54d81827e4a4449d023b4e34"),
"name": "Refridgerator",
"parent": null,
"slug": "refridgerator"
},
{
"_id": ObjectId("54d818227e4a4449d023b4e34"),
"name": "Generator",
"parent": null,
"slug": "generator",
},
{
"_id": ObjectId("54dc38bcse4a4449d023b4e58"),
"name": "Bolt",
"slug": "bolt",
"parent": ObjectId("54d818227e4a4449d023b4e34")
},
{
"_id": ObjectId("54dc38bce4a4449d023b4e58"),
"name": "Ice Cream",
"slug": "ice-cream",
"parent": ObjectId("54d81827e4a4449d023b4e34")
},
{
"_id": ObjectId("54dc3705e4a4449d023b4e56"),
"name": "Chocolate",
"slug": "chocolate",
"parent": ObjectId("54d81827e4a4449d023b4e34")
},
{
"_id": ObjectId("54dc38bce4a4449d023b4e68"),
"name": "Mango Cream",
"slug": "mango-cream",
"parent": ObjectId("54dc38bce4a4449d023b4e58")
},
{
"_id": ObjectId("54dc38bc74a4449d023b4e68"),
"name": "Mango Cream Cream",
"slug": "mango-cream-cream",
"parent": ObjectId("54dc38bce4a4449d023b4e68")
},
]
我正在使用 mongodb 及其类似的父子关系创建类别层次结构。类别为4级。
现在我想查询 _id = '54d81827e4a4449d023b4e34' 并且应该取回所有子类别。
我无法使用父子关系构建 json。
在之前提出的问题中没有输出所需的结果。
预期输出:
[
{
"_id": ObjectId("54d81827e4a4449d023b4e34"),
"name": "Refridgerator",
"parent": null,
"slug": "refridgerator",
"subCategory": [
{
"_id": ObjectId("54dc3705e4a4449d023b4e56"),
"name": "Chocolate",
"parent": ObjectId("54d81827e4a4449d023b4e34"),
"slug": "chocolate"
},
{
"_id": ObjectId("54dc38bce4a4449d023b4e58"),
"name": "Ice Cream",
"parent": ObjectId("54d81827e4a4449d023b4e34"),
"slug": "ice-cream",
'subsubcategory':[
{
"_id": ObjectId("54dc38bce4a4449d023b4e68"),
"name": "Mango Cream",
"slug": "mango-cream",
"parent": ObjectId("54dc38bce4a4449d023b4e58"),
'subsubsubcategory':[
{
"_id": ObjectId("54dc38bc74a4449d023b4e68"),
"name": "Mango Cream Cream",
"slug": "mango-cream-cream",
"parent": ObjectId("54dc38bce4a4449d023b4e68")
},
]
}
]
}
]
},
{
"_id": ObjectId("54d818227e4a4449d023b4e34"),
"name": "Generator",
"parent": null,
"slug": "generator",
"subCategory": [
{
"_id": ObjectId("54dc38bcse4a4449d023b4e58"),
"name": "Bolt",
"slug": "bolt",
"parent": ObjectId("54d818227e4a4449d023b4e34")
},
]
}
]
解决方案
推荐阅读
- java - 如何设置具有共享相互依赖关系的 gradle Java 项目?
- android - Flutter build apk 不起作用并显示 Gradle task assembleRelease failed with exit code 1
- python - 标记python的规范化
- javascript - Angular:在FormGroup中定义默认值输入FormField
- go - 如果其中一项要求是 +incompatible,则在 go.mod 中获取最新版本
- search - 在文件中有效地搜索/grep
- python - 关于函数调用的选择排序的一个问题?(python数组)
- shippo - 如果我在请求中指定运营商帐户,为什么会收到“运营商不存在”?
- docker - swarm 证书已过期
- python - 熊猫,如果值在列中,则更改为另一列