Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

93
Vistas
¿Cómo mostrar información de _id?

Tengo la ruta app.get para mostrar un documento de elemento que contiene _id, nombre, descripción. Esto es lo que tengo actualmente:

 app.get('/itemEdit/:itemID', isLoggedIn, (req, res) => { //console.log("params", req.params) const item_id = req.params.itemID //console.log("ID", item_id) //Here you could query the db and find the item in the array on the user object User.find({ _id: req.user._id }, (err, docs) => { // console.log(docs[0].userInventory) if (err) { console.log(`error: ${err}`) } else { console.log(docs); //You could render edit item page form then make a post route where you query the db and update the item res.render('itemEdit.ejs', {item_id, docs}) } }) console.log("Item query", item_id) })

Sé que esto está agarrando el elemento correcto ya que mi console.log muestra la identificación correcta. Luego, trato de mostrar los datos, pero aquí es donde estoy chocando contra una pared. Tengo la item id pero ¿cómo mostrar el nombre y la descripción que hay en ese mismo artículo? Lo intenté así:

 <table> <!-- Table Headers --> <tr> <th>#</th> <th>Item Name</th> <th>Description</th> </tr> <!-- Table Data --> <tr> <td><%= userInventory[item_id].name %></td> <td><%= userInventory[item_id].description %></td> </tr> <% } %> </table>

Esto me da un error: SyntaxError: Missing catch or finally after try

¡Cualquier ayuda sería muy apreciada!

Editar:

esquema de usuario:

 let userSchema = mongoose.Schema({ username: String, firstName: String, lastName: String, email: String, password: String, userInventory: [{ name: String, description: String }] });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Por lo que entiendo, su ruta '/itemEdit/:itemID' debería consultar ese artículo en función del itemID del artículo que se pasa en los parámetros y devolver el artículo.

esquemas : sugiero cambiar sus esquemas para que sean algo como esto

esquema de artículo

 { name: String, description: String .... }

referencia al esquema del elemento en userInventory

esquema de usuario

 { username: String, firstName: String, lastName: String, email: String, password: String, userInventory: [{ type: mongoose.Schema.Types.ObjectId, ref: 'item' }] }

Entonces tu api debería ser algo como:

 app.get('/itemEdit/:itemID', isLoggedIn, (req, res) => { const item_id = req.params.itemID Item.findById(item_Id, (err, doc) => { if (err) { console.log(`error: ${err}`) } else { res.render('itemEdit.ejs', doc) } }) console.log("Item query", item_id) })

itemEdit.ejs

 <table> <!-- Table Headers --> <tr> <th>#</th> <th>Item Name</th> <th>Description</th> </tr> <!-- Table Data --> <tr> <td><%= doc.name %></td> <td><%= doc.description %></td> </tr> <% } %> </table>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda