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);