koa2加mongodb快速入门
1.安装koa2并安装koa2项目生成器
npm install koa --save npm install koa-generator -g 复制代码
2.安装node_modules
npm install 复制代码
3.安装mongodb
去官网直接下载即可,并安装mongodb的可视化工具mongodb compass
4.创建文件启动服务
创建文件夹,在所在文件夹中创建log和db文件
C:\xxx\MongoDB\data\db
C:\xxx\MongoDB\log
C:\xxx\MongoDB\log\MongoDB.log
进入bin目录输入命令启动服务
cd C:\xxx\MongoDB\Server\3.4\bin
mongod -dbpath "C:\Program Files\MongoDB\data\db"
测试,打开端口27017页面上出现表示成功
4.打开可视化工具compass
点击connect按钮即可 可在里面进行创建文档
5.回到搭建完成的koa项目,安装可支持热更新的nodemon和mongoose
npm i -g nodemon npm install mongoose --save-dev 复制代码
6.创建db文件夹和index.js用来连接数据库
const mongoose = require('mongoose') module.exports = () => { //连接数据库地址下面所创建的文档 mongoose.connect('mongodb://localhost:27017/koa', { useNewUrlParser: true }).then(res => { console.log('数据库连接成功!'); }).catch(err => { console.log('数据库连接失败!' + err); }) } 复制代码
在app.js中引入db
const mongoose = require('./db') mongoose() 复制代码
7.通过查看package.josn文件使用有nodemon的启动命令
npm run dev 复制代码
在服务中可以查看log 数据库连接是否成功
8.创建models文件夹,用来设置表头和获取数据库处理数据方法能力
const mongoose = require('mongoose') //schema数据表模型 const userSchema = new mongoose.Schema( //数据为表头数据列 { username: String, pwd: { type: String, }, }) // users为连接的文档名 const User = mongoose.model('users', userSchema) //将User导出 module.exports = { User } 复制代码
9.在routes文件夹中可以创建不同模块接口地址文件
例如创建use.js
const router = require('koa-router')() //使用users来作为借口前缀 router.prefix('/users') //需要创建control文件夹来管理各个路由所需的回调函数 const { loginCtl } = require('../controllor/userControl') //创建login登录接口地址,loginCtl为所需要处理的函数 router.post('/login', loginCtl) module.exports = router 复制代码
10.创建control文件夹来管理各个路由所需的回调函数
例:创建userControl.js,
//引入创建好的User来提供数据库能力 const { User } = require('../models') const loginCtl = async (ctx) => { let { username, pwd } = ctx.request.body await User.findOne({ username, pwd }).then(res => { console.log(res); if (res) { ctx.body = { code: 200, token: token, msg: '登录成功' } } else { ctx.body = { code: 300, msg: '用户名或密码错误' } } }).catch(err => { ctx.body = { code: 500, msg: err } }) } module.exports = { loginCtl } 复制代码
在app.js中引入写好的路由
const users = require('./routes/users') app.use(users.routes(), users.allowedMethods()) 复制代码
使用postman来测试接口
至此,你的第一个接口就已经写好了。
总结
Koa2 是基于 Node.js 平台的一个轻量化框架,是由 Express 原班人马打造的,本身不绑定任何中间件并支持 async 函数,Koa2 非常轻,开发起来很自由,简单易上手。
作为一个前端开发人员,有一定的后端开发能力,能够在与后端连调的时候更加的丝滑,对于数据结构也能有更深的理解,使用js来开发后端服务接口,做一个有开发全栈能力的程序猿吧!
作者:bgColor
链接:https://juejin.cn/post/7020309506357723143