如何通过快速路线找到mongo data(db.collection_name.find())
并将数据打印到玉石模板中。
这是我的快速路线(我使用的是express2.5.8)
app.get('/showData',function(req,res){
db.collection('comments',function(err, data){
if(err){
throw err;
}
else{
data.find();
res.render('help', {data: data});
}
});
});
通过db.collection
不是函数
答案 0 :(得分:1)
为了快速入门,您可以先连接到数据库,然后将db
存储在变量中:
var MongoClient = require('mongodb').MongoClient;
var database;
// Connection URL
var url = 'mongodb://localhost:27017/myproject';
// Use connect method to connect to the Server
MongoClient.connect(url, function(err, db) {
if (!err) {
console.log("Connected correctly to server");
database = db;
}
})
app.get('/showData',function(req,res){
database.collection('comments',function(err, data){
if(err){
throw err;
}
else {
data.find();
res.render('help', {data: data});
}
});
稍后,您可以将所有数据库连接功能移动到单独的文件中,并在需要时将其需要。
答案 1 :(得分:0)
我在下面找到答案是代码:
控制器:
company.find({}, function(err, companies) {
if (err){
callback(err);
}
else{
callback(null, companies);
}
});
路线:
app.get('/companies', isLoggedIn,function(req, res) {
companyCtrl.companyList(function(err, companies){
res.render('companies',{companies:companies});
});
});
玉模板:
each val in companies
tr
td(data-field="state" data-checkbox="true" ) ID
td(data-field="id" data-sortable="true")= val.id
td(data-field="name" data-sortable="true")= val.name
在上面的例子中,我在控制器中使用了.find方法来获取集合中的文档,并将它们发送回具有回调函数的路径,并且jade在前端显示结果