Как вставить значение из базы данных в тег "a" для атрибута href - PullRequest
1 голос
/ 12 мая 2019

как я могу передать ID в HREF?Я возвращаю его через req.params, он возвращает undefined.Мне нужно получить идентификатор из этого URL, чтобы использовать метод findOne для доступа к данным в базе данных.

Меня пытались найти это в документации по pug, но ничего.Я знаю, м.б. этот вопрос глуп, но не знаю, как это сделать.Пожалуйста помоги.Код:

мой код мопса:

  div(class = "container")
    for item in items
      div
        a(href='/routes/#{item._id}')= item.InputItemName //this is one of the many variations of my attempts

controller.js

const {ObjectID} = require('mongodb'); //get objectid method
router.get('/:itemId', async (req, res) =>{
    const client = req.app.client;
    const db = client.db('MyDB'); //cnn to db
    const collection = db.collection('items'); //cnn to collection items
    var req_id= req.params.itemId; 
    console.log(req_id); //undefined
    const item = await collection.findOne({ _id: ObjectID(req_id)}); //not working, coz req_id = undefined
    console.log(item);
    if(!item) return res.redirect('/');
    res.render('routes/views/item', {item}); 
});

1 Ответ

0 голосов
/ 13 мая 2019

Я решил эту проблему.Если кто-то столкнется с этим: вам нужно инициализировать var в цикле, например:

  div(class = "container")
    for item in items
      div
        img(src='firs.png', alt='image')
        - var url = item._id;
        a(href='/routes/' + url)=  item.InputItemName
...