写了一个init.js函数
- 使用了glob来对协助完成(https://github.com/isaacs/node-glob)
- 连接的数据库的名称(smile-vue)
- 连接数据库操作:connect
- 初始化所有的Schemas
- 暴露给其他页面使用的接口
const mongoose = require('mongoose');
const db = 'mongodb://localhost/smile-vue'
const glob = require('glob');
const { resolve } = require('path');
// 初始化所有已经定义的Schema
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', (err) => {
if (maxConnectTimes <= 3) {
maxConnectTimes++;