源码地址:https://github.com/RidingACodeToStray/Nodejs_blog
主要实现功能:
1)登录后台管理后进入用户管理界面,通过查询数据库获取所有注册用户信息
2) 将注册用户信息展示在界面上
1.查询数据库获取所有用户信息
调用moogose的user模型类的find()方法
var express = require('express');
var router = express.Router();
var User = require('../models/User.js');
router.use(function(req,res,next){
if(!req.userInfo.isAdmin){
res.send('对不起,只有管理员才可以进入后台管理');
}
next();
})
//首页
router.get('/',function(req,res,next){
res.render('admin/index',{
userInfo:req.userInfo
});
})
//用户管理
router.get('/user',function(req,res){
//从数据中读取所有的用户数据
User.find().then(function(users){
res.render('admin/user_index',{
userInfo:req.userInfo,
users:users
});
});
})
module.exports = router;
2.展示所有注册用户信息
使用模板渲染循环输出用户信息到table中
在view/admin新建user_index.html用于用户管理页面
{% extends 'layout.html' %}
{% block main %}
<div class="a-userNav">
<span><a href="/">管理首页</a></span>
<span> / </span>
<span>用户列表</span>
</div>
<table class="a-userTable">
<thead>
<tr>
<th>ID</th>
<th>用户名</th>
<th>密码</th>
<th>是否是管理员</th>
</tr>
</thead>
<tbody>
{% for user in users %}
<tr>
<td>{{user._id.toString()}}</td>
<td>{{user.username}}</td>
<td>{{user.password}}</td>
<td>
{% if user.isAdmin %}
是
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}