我有该代码:
app.get("/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})
}
})
});
这个想法是通过用户名在数据库中找到用户名,并将其传递给视图并显示它。现在当我控制台日志foundUser时,它显示了我的h1中的整个对象
<div class="container">
User profile
<h1><%=us%></h1>
</div>
当我尝试访问us.username时,它不显示任何内容,控制台显示其未定义。
最佳答案
User.find
将返回一个文档数组。即使您的查询仅匹配单个文档,它仍将是具有一个值的数组。因此foundUser.username
将不起作用。 foundUser[0].username
应该可以。
如果使用User.findOne
,它将返回单个文档,而不是数组。然后foundUser.username
应该按预期工作。
关于javascript - 找到后在 View 上表达 Mongoose 显示数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46752394/