- 更新错误消息格式,使用驼峰命名法 - 添加服务器错误消息 - 用 logger 替代 console.log 记录日志 - 更新 MongoDB 连接日志 - 优化用户控制器中的错误处理 - 移除 SearchQuery 类中的无效代码 - 更新 package.json 中的脚本 - 移除未使用的 StringUtil 工具类 - 优化 hashUtils 中的密码加密和比较函数
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
const mongoose = require('mongoose')
|
|
const logger = require('morgan')
|
|
require('dotenv').config()
|
|
|
|
// 使用环境变量存储敏感信息
|
|
const account = process.env.MONGO_ACCOUNT
|
|
const password = process.env.MONGO_PASSWORD
|
|
const host = process.env.MONGO_HOST || '122.152.201.90'
|
|
const port = process.env.MONGO_PORT || '27017'
|
|
|
|
let isConnected = false
|
|
|
|
exports.connectMongoDB = async function () {
|
|
if (process.env.NODE_ENV === 'development') {
|
|
logger(account, password, host, port)
|
|
}
|
|
|
|
// 如果已经连接,不再重复连接
|
|
if (isConnected) {
|
|
logger('MongoDB 已经连接')
|
|
return
|
|
}
|
|
|
|
try {
|
|
const mongoDBUrl = `mongodb://${account}:${password}@${host}:${port}`
|
|
|
|
await mongoose.connect(mongoDBUrl)
|
|
|
|
mongoose.connection.on('open', () => {
|
|
logger('MongoDB 连接成功')
|
|
isConnected = true
|
|
})
|
|
|
|
mongoose.connection.on('error', (err) => {
|
|
logger('MongoDB 连接错误:', err.message)
|
|
isConnected = false
|
|
})
|
|
|
|
mongoose.connection.on('close', () => {
|
|
logger('MongoDB 连接关闭')
|
|
isConnected = false
|
|
})
|
|
} catch (err) {
|
|
logger('MongoDB 连接初始化失败:', err.message)
|
|
throw err
|
|
}
|
|
}
|