express框架RMVC框架/mongoDB

将express框架–>RMVC框架

1.新建express文件

express_RMVC

2.创建文件夹

controllers
models

3.在controllers文件夹下创建

indexController.js文件
将router中的

function(req,res,next){
   res.render('index',{title:'Express'})
}

拆分出来给indexController.js
module.exports=inedxController暴露出来

4.在routes中导入文件

const indexController=require(’‘文件位置’)
router.get(’/’,indexController.index)

5.终端命令 vrm

修改package.json中的start
改成监听:
1.cat package.json
2.i 写入
3.esc 退出
4.:wq 退出保存

6.给运行后写一个提示

bin文件夹下www文件
sever.listen(port,()=>{
   console.log(`服务器运行在:http://localhost:${port}`)

})

7.在models文件夹下创建文件

indexModel.js 用来操作数据,作为数据接口

const indexModel={
    msg:{title:"Express"}
}
module.exports={
idnexModel //键值对相同,可以省略
}

8.数据文件引入控制器文件

const {indexModel}=require(‘文件路径’)
res.render(‘index’,indexModel.msg)

9.注意views文件!!

不要忘记写views文件
记得改文件后缀名ejs!!!

mongoose操作

1.安装mongoose

npm i mongoose -S

2.const mongoose=require(‘mongoose’)

3.确保数据库启动

4.连接数据库

mongoose.connect('mongodb://127.0.0.1:27017/数据库名’)

5.给数据库连接做错误处理

(err)=>{
  if(!err){
      console.log('database connect success~~')
  }else{
  throw err;
}

}

6.Schema

//定义骨架

const Schema = mongoose.Schema;
const teachersSchema = new Schema({
id: Number,
name: String,
age: Number
});

//创建模型
const teacherModel = mongoose.model(‘teachers’, teacherSchema)

//创建实例
const teacherInstance = new teacherModel();

//1.数据的存储
teacherInstance.id = 7;
teacherInstance.name = ‘小明’;
teacherInstance.age = 25

teacherInstance.save((err) => {
if (!err) {
console.log(‘data save success~~’)
} else {
throw err;
}
})

//2.数据的查找
teacherModel.find({ age: 25 }, (err, result) => {
if (!err) {
console.log(‘search data success’)
console.log(result);
} else {
throw err;
}
})

//3.数据的删除
teacherModel.find({ age: 18 }, (err, result) => {
if (!err) {
const id = result[0]._id;
teacherModel.findById(id, (err, docs) => {
if (!err) { //删除成功
docs.remove(() => {
console.log(‘delete success~~’)
})
} else {
throw err;
}
})
} else {
throw err;
}
})

//4.数据的修改
teacherModel.find({ name: ‘yyb’ }, (err, res) => {
if (!err) {
const id = res[0]._id;
teacherModel.findById(id, (err, docs) => {
if (!err) {
docs.age = 100;
docs.save((err) => {
if (!err) {
console.log(‘data save success~~’)
} else {
throw err;
}
})
}
})
}
})

核心内容

  1. webServer
  2. apiServer( 后端工程师, 前端写接口 ) —》 测试工具(postman insomina )
  3. express
  4. koa
  5. express中一个路由就是一个接口
    2.5. 玩架构思想
    需求: 将express框架 —》 RMVC框架
    RMVC
    R —》 Router 路由
    M —> Model 数据
    V —> View 视图
    C —> Controller 控制器(逻辑)
    需求: 再打造一个接口 http://localhost:3000/login
  6. mongodb(命令) --> 连接数据库、操作数据库 ----》mongoose
    使用步骤:
  7. 安装mogonose
    npm i mongoose -S
  8. 导入
    const mongoose = require('mongoose')
  9. 连接数据库
    mongoose.connect('mongodb://主机名:端口/数据库名称')
    举例:
    mongoose.connect('mongodb://127.0.0.1:27017/1901')
  10. 存储数据步骤:定义Schema (骨架) > 创建model(模型)> Entity实例化方法。
  11. gulp搭建项目(跨域)
  12. MongoDB的可视化工具
    Robo3T: https://robomongo.org/download
    adminMongo: https://blog.csdn.net/yzy199391/article/details/80453349

猜你喜欢

转载自blog.csdn.net/LionKing0823/article/details/89222527