Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

105
Views
¿Cómo anidar documentos separados por identificación principal en express.js?

Estoy trabajando en un sitio web de comercio electrónico. He creado un modelo de mangosta para todas las categorías. Pero incluyendo la identificación principal para la categoría que es una subcategoría. cuando recibe una solicitud, toda la categoría se encuentra en databess. Está bien, pero quiero enviar la categoría de forma anidada. Por eso escribo así.

 // This is router Router.get('/categories', async (req, res) => { const createCategory = (categories, parentId = null) => { const categoryList = [] let category if (parentId === null) { category = categories.filter(cat => cat.parentId === undefined); } else { category = categories.filter(cat => cat.parentId === parentId) } for (let cate of category) { categoryList.push({ _id: cate._id, name: cate.name, slug: cate.slug, children: createCategory(categories, cate._id) }) } return categoryList } try { const categories = await Category.find({}) const categoryList = createCategory(categories) res.status(200).json({ categoryList }) } catch (error) { res.status(500).json("server side error") } }) // This is mongoose model const mongoose = require('mongoose'); const categorySchema = new mongoose.Schema({ name: { type: String, required: true, trim: true, unique: true }, slug: { type: String, required: true, unique: true }, parentId: { type: mongoose.Schema.Types.ObjectId } }, { timestamps: true }) module.exports = mongoose.model("Category", categorySchema)

El problema es que cuando trato de obtener datos de Clint, solo se genera una categoría de nivel raíz que no tiene una identificación principal. pero la matriz de niños está vacía así.

 { "categoryList": [ { "_id": "613af0410977fb9fefd2e605", "name": "Electronics", "slug": "Electronics", "children": [] } ] }

Creo que la función recursiva "createCategory" no funciona.

por favor alguien que me ayude soy nuevo en esto...

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!