https://naltatis.github.io/jade-syntax-docs/ Có thông tin hữu ích cho các tệp view.jade
index.js cần một mảng để chứa các kết quả mongo:
var results_from_mongo = [];
và mỗi khi chúng ta nhận được kết quả từ truy vấn, hãy đẩy nó vào mảng (ngôn ngữ mảng để "chèn một phần tử vào mảng")
results_from_mongo.push(doc); //Push result onto results_array
thì chúng ta chỉ cần gửi nó đến res.render:
res.render('index', {"results": results_from_mongo });
Vì vậy, trong index.js
của bạn tệp
/* GET home page. and iterate, display the collection to console log. */
router.get('/', function (req, res) {
var MongoClient = require('mongodb').MongoClient
var url = 'mongodb://localhost/EmployeeDB';
var results_from_mongo = [];
MongoClient.connect(url, function (err, db) {
var str = db.collection('employee').find();
str.each(function (err, doc) {
console.log(doc);
results_from_mongo.push(doc); //Push result onto results_array
});
//now we have a results array filled like this:
// results_from_mongo = ["some string", "some string", "some string"]
//so let's pass them to the jade file to render them.
res.render('index', {"results": results_from_mongo });
// điều này sẽ chuyển dữ liệu ở định dạng JSON vào tệp JADE có tên là 'index' (index.jade)
Dữ liệu tại thời điểm này trông giống như
{ "results" : ["some string", "some string", "some string"] }
và trong index.jade, chúng ta có thể làm một số việc như
extends layout
block content
h1= title
h2= "results from mongo:"
select
each mongo_result, i in results
div Result #{i} #{mongo_result}