mongodb数据库连接
//db.js
var mongoose = require('mongoose');
var DB_CONN_STR = 'mongodb://127.0.0.1:27017/manager';
mongoose.connect(DB_CONN_STR, { useNewUrlParser: true,authSource:'manager' }, (err, res) => {
if (err) {
// console.log(111)
console.log(err)
}
});
module.exports = mongoose;
数据库用户表结构
// shame.js
let mongoose = require('.');
let Schema = mongoose.Schema;
let userSchema = Schema({
account: {
type: String,
required: true
},
passwd: {
type: String,
required: true
},
username: {
type: String,
required: true
},
department: String,
active: Boolean,
created: Number,
updated: Number,
lastLogin: Number
});
let user = mongoose.model('manager_user', userSchema);
module.exports = user;
处理分页请求
//user.js
const express = require('express');
const router = express.Router();
const logger = require('../logger').logger;
const User = require('../db/user');
router.get('/list', function (req, res) {
let query = req.query;
User.countDocuments({}, (error, count) => {
if (error) {
logger.error(`user::/list::error:${JSON.stringify(error)}`);
res.json({
status: 400,
msg: JSON.stringify(error)
});
} else {
User.find({}).skip((query.pageNo - 1) * query.pageSize).limit(parseInt(query.pageSize)||20) .sort({ 'created': -1 }).exec((err, doc) => {
if (err) {
logger.error(`user::/list::err:${JSON.stringify(err)}`);
res.json({
status: 400,
msg: JSON.stringify(err)
});
} else {
res.json({
status: 200,
result: doc,
total: count,
msg:'OK'
});
}
})
}
})
});
module.exports = router;