从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。 希望这有助于澄清事情。
- 如何从Node.js中的$ http请求返回ArrayBuffer?
- 如何在AngularJS的索引页面上使用来自Node.js的信息
- Node + Express + Angular + Angular-route超出最大调用堆栈大小
- MEANJS用户configuration文件function
- 与Facebookcallback函数的CORS错误
- 通过angularjs和nodejs socket.io获取用户通知
- 错误:(SystemJS)意外的标记<SyntaxError:意外的标记<eval(<anonymous>)Angular 2
- Node.js应用程序中的Angular.js特性
- 使用Angular.js和Node.js构build实时应用程序的更好方法是什么?