Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将集合中的所有条目显示为html(node.js)_Javascript_Node.js_Mongodb_Pug - Fatal编程技术网

Javascript 如何将集合中的所有条目显示为html(node.js)

Javascript 如何将集合中的所有条目显示为html(node.js),javascript,node.js,mongodb,pug,Javascript,Node.js,Mongodb,Pug,我想将我的集合(mongodb)中的所有条目显示为html 我以前做过一些基本的事情,例如 router.get('/', function (req, res) { res.render('home', { title: 'Express', username: req.session.user, successful: req.query.valid }); }); 在这里,我将用户名和成功值作为html使用,以便在我的jade文件中显示它们,如下所示 body p #{

我想将我的集合(mongodb)中的所有条目显示为html

我以前做过一些基本的事情,例如

router.get('/', function (req, res) {
    res.render('home', { title: 'Express', username: req.session.user, successful: req.query.valid });

});
在这里,我将
用户名
成功
值作为html使用,以便在我的jade文件中显示它们,如下所示

 body
   p #{successful}
   h1 
     |Welcome,
     span #{username}

但现在我想循环遍历mongodb中特定集合中的所有条目,并通过我的jade文件显示它们。如何执行此操作?

您可以在视图模板中使用迭代器来呈现集合中的所有元素。 为了获得该集合的所有元素,您需要在路由器内部定义一个查询(看看mongoose)。 因此,您可以通过以下方式修改代码:

var Model  = require('models/Model'); // this is your model schema

router.get('/', function (req, res) {
    Model.find({}, function(err, result){
        if(err)
            return res.status(400).send(err);
        // here were are passing to our view all the elements we got from out query
        res.render('home', { title: 'Express', username: req.session.user, successful: req.query.valid, data: result });
    });
});
现在我们可以在jade模板中定义迭代器:

 body
   p #{successful}
   h1 
     |Welcome,
     span #{username}
   ul
     for element in data
       li = element

在这里,我假设您使用jade作为模板引擎,使用mongodb作为数据库,并且。

您可以在视图模板中使用迭代器来呈现集合中的所有元素。 为了获得该集合的所有元素,您需要在路由器内部定义一个查询(看看mongoose)。 因此,您可以通过以下方式修改代码:

var Model  = require('models/Model'); // this is your model schema

router.get('/', function (req, res) {
    Model.find({}, function(err, result){
        if(err)
            return res.status(400).send(err);
        // here were are passing to our view all the elements we got from out query
        res.render('home', { title: 'Express', username: req.session.user, successful: req.query.valid, data: result });
    });
});
现在我们可以在jade模板中定义迭代器:

 body
   p #{successful}
   h1 
     |Welcome,
     span #{username}
   ul
     for element in data
       li = element

在这里,我假设您使用jade作为模板引擎,mongodb作为数据库,.

这是有效的,我应该注意,它应该是
li{element}
有“{}”和没有“{}”的区别是,使用第一个方法,内容在呈现之前被评估和转义。看看这里的文档:我应该注意到,它应该是
li#{element}
与“#{}”的区别在于,对于第一种方法,在呈现之前对内容进行求值和转义。请看以下文档: