سلام
این لیست دسته بندی های من هستش
/* 1 */
{
"_id" : ObjectId("61373cd5a27081de77aa91a0"),
"parent" : null,
"name" : "کامپیوتر",
"slug" : "کامپیوتر",
"createdAt" : ISODate("2021-09-07T10:20:05.719Z"),
"updatedAt" : ISODate("2021-09-07T10:20:05.719Z"),
"__v" : 0
}
/* 2 */
{
"_id" : ObjectId("61373d3cd11b349108fc8016"),
"parent" : ObjectId("61373cd5a27081de77aa91a0"),
"name" : "صفحه نمایش",
"slug" : "صفحه-نمایش",
"createdAt" : ISODate("2021-09-07T10:21:48.666Z"),
"updatedAt" : ISODate("2021-09-07T10:21:48.666Z"),
"__v" : 0
}
/* 3 */
{
"_id" : ObjectId("6137b85b4e312bdbf612042e"),
"parent" : ObjectId("61373d3cd11b349108fc8016"),
"name" : "ال سی دی",
"slug" : "ال-سی-دی",
"createdAt" : ISODate("2021-09-07T19:07:07.415Z"),
"updatedAt" : ISODate("2021-09-07T19:07:07.415Z"),
"__v" : 0
}
من برای مرتبط سازی این لیست (بر اساس فیلد parent)از یک تابع بازگشتی استفاده کردم 👇
async index(req, res, next) {
let categories = [];
let cats = await Category.find({})
async function f(cats, parent = null) {
for (const cat of cats) {
if (cat.parent===parent) {
categories.push({
data: {
cat,
chileCategory: await f(cats, cat._id)
}
})
}
}
}
await f(cats,)
return res.json(categories);
}
ولی این تابع کار نمیکنه و فقط دسته بندی اصلی میفرسته
(زمانی که فیلد parent مساوی null باشه یعنی دسته بندی یک دسته بندی اصلی هستش)
[
{
"cat": {
"_id": "61373cd5a27081de77aa91a0",
"parent": null,
"name": "کامپیوتر",
"slug": "کامپیوتر",
"createdAt": "2021-09-07T10:20:05.719Z",
"updatedAt": "2021-09-07T10:20:05.719Z",
"__v": 0,
"id": "61373cd5a27081de77aa91a0"
}
}
]
چطوری این مشکل حل کنم که زیر مجموعه های این دسته بندی نمایش داده بشه
اولین نفری باشید که به این پرسش کمک میکند و مسیر حل مشکل را باز میکند.
اولین پاسخ را بنویسیدشاید پاسخ شما همینجا باشد