⏳۵۰٪ تخفیف فقط تا پایان جشنواره؛ بعدش همه‌چیز به قیمت قبل برمی‌گرده!

مشاهده دوره‌ها
ثانیه
دقیقه
ساعت
روز
راکت

ایجاد تابع بازگشتی در node js برای نمایش دسته بندی چند سطحی

بدون پاسخ

سلام
این لیست دسته بندی های من هستش

    /* 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"
}
}
]

چطوری این مشکل حل کنم که زیر مجموعه های این دسته بندی نمایش داده بشه

@ali.bayat

ثبت پرسش جدید

پاسخ‌ها

0

هنوز پاسخی ثبت نشده

اولین نفری باشید که به این پرسش کمک می‌کند و مسیر حل مشکل را باز می‌کند.

اولین پاسخ را بنویسید

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام