我如何用我的视图渲染mongodb数据

时间:2018-12-12 12:46:10

标签: node.js

我正在使用车把作为我的视图,并使用mongodb作为我的数据库,我试图从数据库中获取数据并将其呈现在我的页面上(shop.handlbars),但没有任何显示。 这是页面的路由代码。

router.get('/shop', (req, res) => {
Product.find({}, (err, products) => {
    if(!err) {
        console.log(products);
        res.render('shop', {products: products});
    }else {
    console.log(err);
    }
})

并且在我的shop.handlebars视图上,我试图像这样显示它:

{{#each products}}
        {{!-- <div class=" prdbox rounded p-2">
            <h4 class="product-name">product_name</h4>
            <div class="manufacturer">manufacturer</div>
            <div class="price"><b>Nprice</b></div>
            <div class="imgcont rounded">

            </div>
            <div class="btncont" >
                <a href="/users/cart" class=" cartbtn rounded">Add to cart</a>
                <a href="/products/buy" class=" buybtn rounded">Buy</a>
            </div>
        </div> --}}
        {{/each}}

请问我出了什么问题?

1 个答案:

答案 0 :(得分:1)

您需要在handlebars docs中所示的产品键周围添加花括号。例如:

{{#each products}}
        {{!-- <div class=" prdbox rounded p-2">
            <h4 class="product-name">{{product_name}}</h4>
            <div class="manufacturer">{{manufacturer}}</div>
            <div class="price"><b>{{Nprice}}</b></div>
            <div class="imgcont rounded">

            </div>
            <div class="btncont" >
                <a href="/users/cart" class=" cartbtn rounded">Add to cart</a>
                <a href="/products/buy" class=" buybtn rounded">Buy</a>
            </div>
        </div> --}}
        {{/each}}