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

210
Views
¿Es posible completar referencias anidadas en Mongoose?

Soy nuevo en MongoDB y trato de completar datos de otra colección en una respuesta. El ejemplo más sencillo sería el siguiente:

 const CartSchema = new Schema({ items: [{ product: { type: Schema.Types.ObjectId, ref: 'product' }, qty: Number }], ... });

Puedo usar .populate() cuando las relaciones están en el nivel raíz, pero en el ejemplo anterior, tengo una variedad de elementos con sus propias propiedades, por ejemplo, qty , más una referencia _id a un producto. Me gustaría completar el objeto del producto en cada elemento del automóvil, pero parece que no puedo encontrar ningún ejemplo sobre cuál es la forma "correcta" de hacerlo.

 Cart.findById(id) .populate('products') // <-- something like this .then(record => ... ) .catch(next);

Sé que probablemente podría hacer un .find() separado en la colección de productos después de ubicar el registro del carrito y extender manualmente el objeto inicial, pero esperaba que hubiera una manera de completar los datos dentro de la consulta original.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Puedes probar esto, te funcionará.

 Cart.findById(id) .populate('items.product') .then(record => ... ) .catch(next);

.populate('items.product') populate objeto del product de todos los elementos del carrito presentes en la matriz.

over 4 years ago · Santiago Trujillo Report
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!