'use strict'; const { inject } = require('./Provider'); const mongoose = require('mongoose'); process.on('SIGTERM', () => { mongoose.disconnect(); process.exit(0); }); process.on('SIGINT', () => { mongoose.disconnect(); process.exit(0); }); module.exports = inject(async function connect2db(SysConfig) { mongoose.set('useCreateIndex', true); const { DB_USER_NAME, DB_PASSWD, DB_HOST, DB_PORT, DB_NAME } = SysConfig; const db = mongoose.connection; db.on('error', mylog.error); db.once('open', function() { mylog.info('数据库连接成功...'); }); mylog.info('开始连接数据库...'); await mongoose.connect(`mongodb://${DB_USER_NAME}:${DB_PASSWD}@${DB_HOST}:${DB_PORT}/${DB_NAME}`, { useNewUrlParser: true, bufferMaxEntries: 0, autoReconnect: true, useFindAndModify: false }); return db; });