findById pour afficher détails des produits via leurs Id dans une même page
Je suis nouveau sur nodeJs et je voulais m'entraîner à créer un panier.
Tout allé bien jusqu'à ce que j'essaye d'afficher le detail de produit via son id dans une seule fichier appelé ('product-detail')
RÉSUMÉ DE MON CODE
J'ai créé dans mon dossier modèles deux fichiers js appelés user.js et jacket.js qui contiennent chacun un schéma et un modèle séparément. Dans mon dossier Controllers, j'ai un fichier index.js qui comprend:
Code:
1 2
| const User = require ("../models/users")
const Veste = require ('../models/Veste') |
Ma question est que je souhaite accéder à l'identifiant de ces deux documents en même temps: voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const getProductId = (req, res, next) =>{
const id = req.params.id
Promise.all([User.findById(id).exec(), Veste.findById(id).exec() ])
.then(([product]) => (
res.render('product-detail', { product} )
})
.catch(error =>{
console.log(error)
})
}
module.exports = { getProductId: getProductId }; |
:D:D:D:D:D:D:D Dossier routes
Code:
1 2 3 4
| const express = require ('express')
const router = express.Router ()
const getIndexController = require ('../controllers/index')
router.get ('/product/:id', getIndexController.getProductId) |
:D:D:D:D:D:D:D Dossier Views (product-detail.ejs)
Code:
1 2 3 4
| <h1><%= product.name %></h1>
<img width="200px" height="200px" src="<%= product.image %>" alt="<%= product.image %>"/>
<h1><%= product.description %></h1>
<h1><%= product.prix %></h1> |
ça marche pour User qui affiche les produits via leur ID mais pour Veste.
Merci