我创建了名为(user.js)的模型
module.exports.show_deatils = function(req,res,callback){
var resultArray=[];
mongo.connect(url,function(err,db){
assert.equal(null,err);
var cursor=db.collection('users').find();
cursor.forEach(function(doc,err){
assert.equal(null,err);
resultArray.push(doc);
});
});
}
router.get('/restful', function(req, res){
User.show_deatils(function(req,res,resultArray){
req.session.resultArray=resultArray;
console.log(resultArray);
});
res.render('restful');
});
我在模型method("show_details")
中创建了user.js
,我在路由中调用了该特定函数。每当页面(restful)被加载时,我希望显示数据resultArray
。但我被困在这里。
您能否建议我如何解决这个问题?
答案 0 :(得分:0)
在main.js
对象上,您需要在渲染函数中传递变量res
,以便在模板中使用它。
类似的东西:
resultArray
在express.js的文档中详细记录了这一点:link
另外,请勿将结果放在res.render('restful', {var_in_ejs_template: resultArray});
属性中。看起来很脏。
答案 1 :(得分:0)
你的用户模块show_deatils有两个参数,你没有传递任何参数, 并且在回调中你没有使用,
user.js的
...
@Deployment
public static Archive<?> createDeploymentPackage() throws IOException {
final String testWarName = "test.war";
final EnterpriseArchive ear = ShrinkWrap.createFromZipFile(
EnterpriseArchive.class, new File("target/myApp.ear"));
addTestWar(ear, myClassTest.class, testWarName);
...
路线
module.exports.show_deatils = function(req,res,callback){
var resultArray=[];
mongo.connect(url,function(err,db){
assert.equal(null,err);
var cursor=db.collection('users').find();
cursor.forEach(function(doc,err){
assert.equal(null,err);
resultArray.push(doc);
});
callback(resultArray);
});
}