2025-05-21 22:13:09 +07:00

51 lines
2.6 KiB
JavaScript

const mongoose = require('mongoose');
// Переопределяем функцию подключения к БД
const connectDB = async () => {
try {
// Убедись, что process.env.MONGO_URI действительно загружается из .env
if (!process.env.MONGO_URI) {
console.error('Ошибка: MONGO_URI не определена в .env файле!');
process.exit(1);
}
// Получаем URI и проверяем имя базы данных
let mongoURI = process.env.MONGO_URI;
// Проверяем, содержит ли URI имя базы данных
const uriParts = mongoURI.split('/');
const lastPart = uriParts[uriParts.length - 1];
// Логируем для отладки (можно удалить потом)
console.log('Имя базы данных из URI:', lastPart.split('?')[0]);
// Проверяем, соответствует ли имя базы данных ожидаемому
// Если имя не соответствует нужному, можно принудительно заменить
const expectedDBName = 'dating-app'; // Используем одно имя везде
if (lastPart.split('?')[0] !== expectedDBName) {
console.log(`Внимание: имя базы данных в URI (${lastPart.split('?')[0]}) отличается от ожидаемого (${expectedDBName})`);
// Если в URI нет параметров после имени
if (!lastPart.includes('?')) {
uriParts[uriParts.length - 1] = expectedDBName;
} else {
// Если есть параметры после имени базы данных
const params = lastPart.split('?')[1];
uriParts[uriParts.length - 1] = `${expectedDBName}?${params}`;
}
mongoURI = uriParts.join('/');
console.log('URI подключения был изменен для использования базы данных:', expectedDBName);
}
const conn = await mongoose.connect(mongoURI);
console.log(`MongoDB подключена: ${conn.connection.host}`); // Эта строка тоже важна
} catch (error) {
console.error(`Ошибка подключения к MongoDB: ${error.message}`);
process.exit(1); // Эта строка может быть причиной, если есть ошибка подключения
}
};
// Экспортируем функцию явным образом
module.exports = connectDB;
console.log('Модуль db.js загружен, тип экспортируемого объекта:', typeof module.exports);