1.文章的添加功能
- 创建文章集合
const mongoose = require('mongoose');
const topicSchema = new mongoose.Schema({
title:{
type: String,
maxlength: 20,
minlength: 4,
required: [true,'请输入标题']
},
author:{
type:String
},
publishDate:{
type:Date,
default:Date.now
},
content:{
type:String
}
});
const topic = mongoose.model('topic',topicSchema);
module.exports = { topic };
- 添加文章
const { Topic } = require('../../model/topic');
module.exports = async (req,res,next) =>{
await Topic.create(req.body);
return next(JSON.stringify({message: 'OK'}));
}
- 处理日期格式
const template = require('art-template');
const dateformat = require('dateformat');
//向模板内导入dateformat变量
tempalte.defaults.imports.dateFormat = dateformat;
使用实例:dateFormat($value.publishDate, 'yyyy-mm-dd')
- 数据分页 mongoose-sex-page
npm install mongoose-sex-page
const pagination = require('mongoose-sex-page');
- 渲染所有页面
const { Topic } = require('../../model/topic');
module.exports = async (req,res) =>{
const page = req.query.page;
let topics = await pagination(Topic).find().page(page).size(10).dispaly(3)
.populate('author').exec();
res.render('/',{
topics:topics
})
}
- mongodb添加账号
创建超级管理员
use admin
db.creatUser({user:'root',pwd:'root',roles:['root']})
创建普通的管理员
use blog
db.creatUser({user:'blog',pwd:'blog',roles:['readWrite']})
停止服务net stop MongoDB
卸载服务MongoDB --remove
重新配置服务mongod --dbpath "C:\mongodb\db" --logpath "C:\mongodb\log.txt" --install --serviceName "MongoDB --auth
- 修改数据库连接
mongoose.connect('mongodb://blog:blog@localhost:27017/blog')
.then(() => console.log('数据库连接成功'))
.catch(() => console.log('数据库连接失败'));
- 获取当前系统是否是生产环境
npm install morgan
const morgan = require('morgan');
if (process.env.NODE_ENV ==='development'){
app.use(morgan('dev'));
}else{
}
- 配置config
npm install config
创建config文件夹,下面创建default.js、development.js、production.js
const config = require('config');
config.get('db.user');
- config 保存敏感信息
创建custom-environment-variables.json 文件,示例如下
{
{
"db":{
"pwd" : "APP_PWD"
}
}
}
将pwd的值保存到环境变量APP_PWD即可