使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载

1.安装koa

npm init -y  //初始化项目

npm i koa    //安装koa框架

2.设置入口文件

index.js

const koa = require('koa')//导入koa
const app = new koa()     //实例化koa
app.use(async ctx => {
    ctx.body = 'Hello koa';
  });

//开启监听
app.listen(3030, ()=>console.log('server in running on 3030'))

开始调试服务,可以看到服务以及监听

使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载_第1张图片

 3.开启静态资源

安装koa-static中间件

npm install koa-static --save

在入口文件中设置静态资源的开放路径

const koa = require('koa')//导入koa
const app = new koa()     //实例化koa
const path = require('path')//路径
//静态资源
// const koa_static =require('koa-static')
// app.use(koa_static(path.resolve(__dirname,'./public/')))
// 可以简化为
app.use(require('koa-static')(path.resolve(__dirname, 'public')))


// app.use(async ctx => {
//     ctx.body = 'Hello koa';
//   });

//开启监听
app.listen(3030, ()=>console.log('server in running on 3030'))

可以看到静态资源路径也被成功开放了,后期可以在public文件夹内放入html、img、css等文件。

使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载_第2张图片

 4.链接数据库(MongoDB)

安装链接MongoDB的第三方管理包mongoose

npm install mongoose

封装链接connect.js,链接MongoDB数据库。

const mongoose =require('mongoose') //导入mongoose包

//链接MongoDB服务器
mongoose.connect('mongodb://localhost:27017/DB',{})  //DB为要链接的数据库名

const connect = mongoose.connection
connect.on('open',()=>console.log('数据库链接成功'))
connect.on('error',()=>console.log('数据库链接失败'))

index.js  导入连接js 

使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载_第3张图片 可以看到数据库可以正常的连接了。

使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载_第4张图片

 创建MongoDB数据库模型这里就以常用的用户表为例

const mongoose = require('mongoose')

module.exports = mongoose.model('user', mongoose.Schema({
    use_id: String,
    name: String,
    gander:String,
    age:Number
}))

设置controllers控制器函数,user.js

const userModel = require('../models/user')

class User {
    //添加用户
    static async insertUser(ctx) {
        let {
            use_id,
            name,
            gender,
            age
        } = ctx.request.body
        const result = userModel.insertMany({
            use_id,
            name,
            gender,
            age
        })
        ctx.body = {
            err:0,
            msg:'插入成功',
            data: result
        }
    }

    //查询用户
    static async getUser(ctx) {
        const userInfo = await userModel.find()
        ctx.body = {
            err:0,
            msg:'查找成功',
            data: userInfo
        }
    }
}

module.exports = User

5.引入路由koa-router或者@koa/router

安装路由

npm i koa-router
或者
npm i @koa/router

随便引入哪一个都行,因为他们都是一个团队的路由包。

使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载_第5张图片

 写路由文件router/index.js

const koaRouter = require('koa-router')
const router = new koaRouter()

const Cu = require('../controllers/user') //导入控制器中的方法

router
.get('/api/user/getUser',Cu.getUser)

module.exports = router

在项目的入口文件index.js中开放动态API资源

const koa = require('koa')//导入koa
const app = new koa()     //实例化koa
const path = require('path')//路径
//静态资源
// const koa_static =require('koa-static')
// app.use(koa_static(path.resolve(__dirname,'./public/')))
// 可以简化为
app.use(require('koa-static')(path.resolve(__dirname, 'public')))

//链接数据库 这里以MongoDB为例
require('./utils/connect')

//开放动态API接口
app.use(require('./router/index').routes())

// app.use(async ctx => {
//     ctx.body = 'Hello koa';
//   });

//开启监听
app.listen(3030, ()=>console.log('server in running on 3030'))

6.安装Body解析器

npm i koa-body
//加载解析post的body数据中的中间件
app.use(require('koa-body')())

使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载_第6张图片

 7.发送请求

插入数据 

使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载_第7张图片查询数据

使用nodejs的koa框架连接MongoDB数据库,并封装数据请求。 文章结尾有项目代码可供免费下载_第8张图片我们可以看到get和post都能正常接受返回参数。

至此使用koa开启的node服务链接MongoDB数据库以及基本完成了。

使用nodejs的koa框架连接MongoDB数据库.zip-互联网文档类资源-CSDN下载

你可能感兴趣的:(npm与cnpm,node.js,JavaScript,npm,前端,node.js,koa)