从mongodb通过nodejs获取数据并将其转换为html页面

基本上,我想显示“雇员”收集到HTML页面的特定领域。 但即使在网上search了很多,我也无法这样做。

这里是server.js文件的路由部分:

app.get('/fetching', function(req, res){ connection.fetcher(function(data) { res.render("testing.html",data); } ); }); 

现在这是来自connection.js文件的部分:

 var fetcher= function(callback) { var mongodb = require('mongodb'); var MongoClient = mongodb.MongoClient; var url = 'mongodb://localhost:27017/HippoFeedo'; MongoClient.connect(url, function (err, db) { if (err) { console.log('Unable to connect to the mongoDB server. Error:', err); } else { console.log('Connection established to', url); // Get the documents collection var collection = db.collection('employees'); collection.find({},function (err, result) { if (err) { console.log(err); } else { console.log(result); callback(result); } }); } }); 

现在,findOne工作正常,并完美返回到server.js文件的值。 但我需要使用“查找”,所以如何通过callback发送完整的数组到server.js

此外,我需要通过渲染将检索到的数据从server.js发送到名为testing.html的HTML文件,并通过angular度js进行显示。 请解释一个简单的方法来做到这一点。

编辑:我知道如何使用“查找”,我只是用“toArray”与“查找”function。 现在,我可以通过callback函数将值返回给server.js。 但另一个问题仍然没有解决:我如何将这些值传递给html页面?

使用ejs,你需要设置视图引擎:

 app.set('view engine', 'ejs'); 

然后得到你的数据:

  app.get('/employees',(req , res) =>{ db.collection('employees').find().toArray(function(err , i){ if (err) return console.log(err) res.render('index.ejs',{employees: i}) }) }); 

.ejs文件将如下所示:

 employees <ul class="employees"> <% for(var i=0; i<employees.length; i++) {%> <li class="employees"> <span><%= " Nome: " +employees[i].name+"."%></span> <span><%=" Address: " + employees[i].address%></span> </li> <% } %> </ul> 

只是一个简单的方法使用ejs。 希望这有助于澄清事情。