2017-10-15 71 views
1

我有代碼:快遞貓鼬顯示數據後發現

app.get("https://stackoverflow.com/users/:username", function(req,res){ 
var data = req.params.username; 
User.find({'username' : new RegExp(data, 'i')}, function(err, foundUser){ 
     console.log(foundUser); 
     if(err){ 
      console.log(err); 
      res.redirect("/") 
     }else{ 
      res.render("users/show", {us: foundUser}) 
     } 
    }) 
}); 

的想法是通過用戶名來查找數據庫用戶名,並將其傳遞給視圖,並顯示它。現在,當我登錄CONSOL它foundUser顯示我的H1整個對象,也

<div class="container"> 
    User profile 
    <h1><%=us%></h1> 
    </div> 

當我嘗試訪問us.username它不顯示任何東西和控制檯說,它的定義。

回答

0

User.find將返回文檔數組。即使您的查詢只匹配單個文檔,它仍然是具有一個值的數組。所以foundUser.username將無法​​正常工作。 foundUser[0].username應該可以工作。

如果使用User.findOne它將返回單個文檔,而不是數組。然後foundUser.username應該按預期工作。

+1

它的工作原理。非常感謝 – rafalos