[英]Passing MongoDB data to Jade view in ExpressJS
我有一個問題,希望您能提供幫助。 基本上,我正在對MongoDB集合進行查詢,並嘗試將結果傳遞回玉視圖。
app.helpers({
clients: function(){
users.find({uid:req.session.uid}).toArray(function(err, post){
if(err){
console.log(err);
}else{
return post;
}
});
}
});
這是我在視圖中引用輔助對象的地方
p #{clients}
現在,我只是將[object Object]作為視圖中的值。 如果記錄結果,將獲得預期的文檔結果,但是如果嘗試將其推入數組或var中,則會得到[object Object]結果。 有任何想法嗎?
這將不起作用,因為您使用以下結構:
clients: function() {
(some code)(function() {
return variable;
});
}
return variable;
語句從內部函數返回。 但是您需要從外部函數返回變量。 那么該怎么做呢? 其實你做不到 您應該在視圖中進行查詢,並將結果存儲在例如request中,然后將request變量傳遞給模板。 您不能在助手中使用異步函數。
另一件事是,當您在助手中使用函數時,則應在模板中使用
p #{ clients() }
因為它是一個功能。 但是,在這種情況下將不起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.