expressServer/config/mongodbConfig.js
LingandRX 8741389ef5 refactor: 优化项目结构和代码
- 更新 .gitignore 文件,排除 Idea 项目配置
- 移除 vuepress 缓存目录
- 优化 app.js 中的错误处理和状态码导入- 调整 CORS 配置,移除未使用的 allowdHeaders
- 更新 hashUtils.js 中的密码处理函数
- 优化 index.js 中的路由定义
- 更新 mongodbConfig.js 中的数据库连接逻辑
- 升级 express到 5.0.0- 更新 mongoose 到 8.7.1
2025-01-01 12:21:43 +08:00

47 lines
1.2 KiB
JavaScript

const mongoose = require('mongoose')
require('dotenv').config() // 加载 .env 文件
// 使用环境变量存储敏感信息
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') {
console.log(account, password, host, port)
}
// 如果已经连接,不再重复连接
if (isConnected) {
console.log('MongoDB 已经连接')
return
}
try {
const mongoDBUrl = `mongodb://${account}:${password}@${host}:${port}`
await mongoose.connect(mongoDBUrl)
mongoose.connection.on('open', () => {
console.log('MongoDB 连接成功')
isConnected = true
})
mongoose.connection.on('error', (err) => {
console.error('MongoDB 连接错误:', err.message)
isConnected = false
})
mongoose.connection.on('close', () => {
console.log('MongoDB 连接关闭')
isConnected = false
})
} catch (err) {
console.error('MongoDB 连接初始化失败:', err.message)
throw err
}
}