如何从数据库中的标签“ a”中插入值以属性href

时间:2019-05-12 20:21:31

标签: javascript node.js mongodb express pug

如何将ID传递给href? 我通过req.params返回它,它返回未定义。我需要从该URL获取ID,才能使用findOne方法访问数据库中的数据。

有人试图在哈巴狗文档中找到它,但什么也没有。我知道,mb这个问题很愚蠢,但是idk怎么做。请帮忙。代码:

我的哈巴狗代码:

  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 :(得分:0)

我解决了这个问题。如果有人遇到这种情况:U需要在循环中初始化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