koa2结合mongoose操作已有MongoDB数据库

本文详细介绍了如何使用koa2框架结合mongoose操作MongoDB数据库的过程。从koa2项目的搭建到mongoose的安装与配置,再到数据库操作的具体实现,包括数据表的定义、模型的创建以及增删改查等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用koa2结合mongoose操作MongoDB
1.首先创建一个koa2项目安装koa-generator

npm install -g koa-generator

2.工作目录下输入命令

koa2 hello-koa

3.接着就是一顿安装和启动

cd hello-koa
npm install
npm start 

4.安装mongoose

npm install mongoose --save

5.重新定义下目录结构新建db文件夹用于操作mongoose
在这里插入图片描述
6.bd/index.js

const DB_URL = '你的MongoDB地址'// 大致格式‘mongodb://root:账号#密码@127.0.0.1:27017/你的MongoDB数据库’
mongoose.connect(DB_URL, {
    useNewUrlParser: true,
    useCreateIndex: true
})
mongoose.set('useNewUrlParser', true)
mongoose.set('useFindAndModify', false)
mongoose.set('useCreateIndex', true)
mongoose.Promise = global.Promise
mongoose.connection.on('error', (err) => {
    console.log(err);
});
mongoose.connection.on('open', () => {
    console.log('Mongoose连接成功' + DB_URL);
})

mongoose.connection.on('disconnected', function () { //链接异常
    console.log('数据库连接断开');
});

module.exports = mongoose;

7.bd/index.js

/**
 *不论你是想新建一个数据表还是想要连接并操作线上已经存在的MongoDB数据表
 都要先new一个Schema,Schema中要定义表中各个字段的类型,
 如果是线上的数据表,在定义类型时,定义的字段和数据类型要与线上的一致
 如下图中的两个字段 apiName和token在Schema中都要定义为String类型
 */
/*
    允许的类型为:
    String
    Number
    Date
    Buffer
    Boolean
    Mixed
    ObjectId
    Array
    Decimal128
    Map
*/
const dataSchema = new mongoose.Schema({ 
   apiName: String,
   token: String
});
/*
    创建model集合
    model中第一个参数为表的名字,第二个参数填入定义的Schema,第三个参数意味重命名表名
    如果是新建数据表那么第三个参数可不填写,
    如果是连接线上已经存在的数据表,那么第一个参数的表名要与线上的表名一致,并且第三个参数也要与线上
    的表名一致,才能访问到线上的表 
    如此处我的线上表名为my_user
*/

let tempModel = mongoose.model('my_user', dataSchema, 'my_user');

const db = {
    tempModel: tempModel
}

module.exports = db;

在这里插入图片描述

8.在router中使用
在routes文件夹下新建user.js

const {
  tempModel
} = require('../db/db')
router.prefix('/users')

router.get('/all', async (ctx, next) => { //查询
  try {
    let arr = await tempModel.find({}, {
      _id: 0
    })
    ctx.sendRes(arr, 200, '查找成功!');
  } catch (err) {
    console.error(err)
  }
})

9.最后在app.js中导入bd
在这里插入图片描述
重新启动服务
在这里插入图片描述
使用ajax请求接口测试下服务地址
在这里插入图片描述
好了,大家可以开始愉快的写增删改查代码了。

更多关于mongoose的操作大家可以 查阅官方手册: https://mongoosejs.com/docs/index.html

如果你不想下载收费的Studio 3T,推荐下web版连接MongoDB工具:https://github.com/mrvautin/adminMongo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值