我正在使用MEAN Stack。我将用户ID作为网址发送。
<div>
<% users.forEach( function( user ){ %>
<li><a href=""><%= user.username %></a></li>
<li><a href="updateEmployee/<%= user._id %>"><%= user.id %></a></li>
<% }); %>
</div>
我希望将此用户ID作为路由中的参数,并查询具有该ID的用户的详细信息。
我试过这个如下
router.get('/updateEmployee/:ID', function (req, res) {
User.findOne({_id: req.ID}, function ( err, users, count ){
res.render( 'viewUser', {
users : users
});
});
});
我如何在ejs中显示
<li><a href="/AdminDatabase/viewUser"><%= users.username %></a></li>
<li><a href="/AdminDatabase/viewUser"><%= users.id %></a></li>
我提到https://scotch.io/tutorials/use-expressjs-to-get-url-and-post-parameters来编写此代码。
但我收到一条错误消息无法读取属性'username'为null
我是否以正确的方式这样做。如果是,我的错误是什么?或者我怎么能用其他方法做到这一点?
答案 0 :(得分:2)
而不是使用 _id:req.ID ,您应该在Mongoose findOne函数中使用 _id:req.params.ID