簡體   English   中英

將MongoDB數據傳遞到ExpressJS中的Jade視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM