koa 连接Mongodb
- Mongodb下载地址
- 配置环境及地址
- npm来进行安装
npm install mongoose --save
- 创建连接(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()
})
})
}
- 测试连接(index.js)
const Koa = require('koa')
const app = new Koa()
const { connect , initSchemas } = require('./database/init.js')
;(async ()=>{
await connect()
initSchemas()
})()
- 测试运行
node index.js