سلام
این لیست دسته بندی های من هستش
/* 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"
}
}
]
چطوری این مشکل حل کنم که زیر مجموعه های این دسته بندی نمایش داده بشه
به متین طیبی نیا کمک کنید تا مشکل خودش را حل کند؛ اینطور میتوانیم با هم پیشرفت کنیم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟