node.js - 在 MongoDB 上进行递归查找,查找每个结果项
问题描述
我正在开发一个电子商务后端,其中类别数据存储如下:
{
"_id": "60869fcade424d24d40ffc0b",
"title": "test category 1",
"shortDescription": "short desc test 1",
"description": "long desc test 1",
"url": "/category/test-category-1/urlslug",
"displayOrder": null,
"parent": "6085e18847faf7245c2f8e17",
"cover": "60853538982d3c49b4697cd9",
"image": [
"60853538982d3c49b4697cd7",
"60853538982d3c49b4697cd9"
],
"icon": "60853538982d3c49b4697cd8",
"locale": [
{
"_id": "608537b6210d8f2e0c2ea4b6",
"title": "পরীক্ষার বিভাগ 1",
"shortDescription": "পরীক্ষার বিভাগ test",
"description": "পরীক্ষার বিভাগ 123"
}
],
"createdDate": "2021-04-26T11:11:06.330Z",
"lastUpdatedDate": "2021-04-26T11:11:06.330Z",
}
我试图以树状结构获取数据,其中结果文档中将有一个字段,该字段将以递归方式child
保存在其字段中引用当前文档的子类别。parent
此外,如您所见,有一个字段cover
存储对_id
集合的cover
引用。我需要让那个cover
领域得到尊重。
简而言之,我试图得到这样的结果
{
_id: "0123456789abcdefgh",
cover:{
_id: "0123456789abcdefgg",
//...
},
// ...
child:[
{
_id: "0123456789abcdefgf",
cover:{
_id: "0123456789abcdefge",
//...
},
// ...
child: [
//this goes on recursively
]
},
{
_id: "0123456789abcdefgd",
cover:{
_id: "0123456789abcdefgc",
//...
},
// ...
child: [
//this goes on recursively
]
}
]
}
我已经使用$graphLookUp
但无法找到一种方法来完全按照我想要的方式完成这项工作。
提前感谢您的帮助。我将不胜感激任何建议
解决方案
推荐阅读
- javascript - 根据该对象的某些属性的数组从数组中删除对象
- r - 如何为同一文件路径中的每个文件分别执行相同的命令集?
- java - 如何使用 KeyCloak 实现基于令牌的访问的简单 Web 服务?
- cmake - 有没有办法在一次 CMake 运行中以两种不同的语言编译相同的源文件?
- fortran - 在 PURE 过程 Fortran 中调用类型绑定过程
- corda - 如何读取corda中的所有节点表
- javascript - 角度材料 displayWith 不适用于 ngx-translate
- xcode - 我怎样才能让它在 Cocoa 中立即响应?
- java - 为什么要在 EJB 类上同时使用 @LocalBean 和接口?
- node.js - 带环回 3 的电子邮件连接器