koa 连接Mongodb

  1. Mongodb下载地址
  2. 配置环境及地址
  3. npm来进行安装
npm install mongoose --save
  1. 创建连接(init.js)
const mongoose = require('mongoose')
const db = "mongodb://localhost/vue-Test"
const glob = require('glob')
const {resolve} = require('path')

exports.initSchemas = ()=>{
    glob.sync(resolve(__dirname,'./schema','**/*.js')).forEach(require)
}


exports.connect = ()=>{
    //连接数据库
    mongoose.connect(db)
    let  maxConnectTimes = 0

    return new Promise((resolve,reject)=>{

         //增加数据库监听事件
        mongoose.connection.on('disconnected',()=>{
            console.log('***********数据库断开***********')
            if(maxConnectTimes<=3){
                maxConnectTimes++
                mongoose.connect(db)
            }else{
                reject()
                throw new Error('数据库出现问题,程序无法搞定,请人为修理.....')
            }

        })

        mongoose.connection.on('error',(err)=>{
            console.log('***********数据库错误')
            if(maxConnectTimes<=3){
                maxConnectTimes++
                mongoose.connect(db)
            }else{
                reject(err)
                throw new Error('数据库出现问题,程序无法搞定,请人为修理.....')
            }
        })
        //链接打开的时
        mongoose.connection.once('open',()=>{
            console.log('MongoDB connected successfully')

            resolve()
        })



    })
}
  1. 测试连接(index.js)
const Koa = require('koa')
const app = new Koa()
const { connect , initSchemas } = require('./database/init.js')

;(async ()=>{
    await connect()
    initSchemas()
})()
  1. 测试运行
node index.js 

评论