2017-10-15 65 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