32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
const mongoose = require('mongoose');
|
|
|
|
const connectDB = async () => {
|
|
try {
|
|
const mongoUri = process.env.MONGODB_URI || 'mongodb://admin:password@localhost:27017/procurement_db?authSource=admin';
|
|
|
|
console.log('\n📡 Попытка подключения к MongoDB...');
|
|
console.log(` URI: ${mongoUri.replace(/\/\/:.*@/, '//***:***@')}`);
|
|
|
|
const connection = await mongoose.connect(mongoUri, {
|
|
useNewUrlParser: true,
|
|
useUnifiedTopology: true,
|
|
serverSelectionTimeoutMS: 5000,
|
|
connectTimeoutMS: 5000,
|
|
});
|
|
|
|
console.log('✅ MongoDB подключена успешно!');
|
|
console.log(` Хост: ${connection.connection.host}`);
|
|
console.log(` БД: ${connection.connection.name}\n`);
|
|
|
|
return connection;
|
|
} catch (error) {
|
|
console.error('\n❌ Ошибка подключения к MongoDB:');
|
|
console.error(` ${error.message}\n`);
|
|
console.warn('⚠️ Приложение продолжит работу с mock данными\n');
|
|
|
|
return null;
|
|
}
|
|
};
|
|
|
|
module.exports = connectDB;
|