Update MongoDB connection settings and enhance debugging capabilities

This commit is contained in:
2026-01-28 15:54:33 +05:30
parent 5b02a13cb4
commit e9e5eb32ad
14 changed files with 162 additions and 12 deletions
+6 -1
View File
@@ -1,6 +1,11 @@
module.exports = async function (mongoose) {
try {
await mongoose.connect(process.env.CONNECTION_URI);
console.log('🔌 Attempting to connect with URI:', process.env.CONNECTION_URI);
await mongoose.connect(process.env.CONNECTION_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
directConnection: true,
});
console.log('✅ MongoDB connected');
} catch (err) {
console.error('❌ MongoDB connection error:', err);
+34 -3
View File
@@ -1,10 +1,41 @@
const session = require('express-session');
const MongoDBStore = require('connect-mongodb-session')(session);
const store = new MongoDBStore({
uri: process.env.CONNECTION_URI,
console.log('📋 Session.js - CONNECTION_URI:', process.env.CONNECTION_URI);
// Parse the connection URI to extract connection options
const uriString = process.env.CONNECTION_URI;
const uriUrl = new URL(uriString);
// Extract individual components
const baseUri = `${uriUrl.protocol}//${uriUrl.username}:${uriUrl.password}@${uriUrl.hostname}:${uriUrl.port}${uriUrl.pathname}`;
const replicaSet = uriUrl.searchParams.get('replicaSet');
const authSource = uriUrl.searchParams.get('authSource');
console.log('📋 Base URI:', baseUri);
console.log('📋 ReplicaSet:', replicaSet);
console.log('📋 AuthSource:', authSource);
// Build connection options with directConnection to bypass replica set discovery
const connectionOptions = {
useNewUrlParser: true,
useUnifiedTopology: true,
directConnection: true, // Force direct connection to specified server
};
if (authSource) {
connectionOptions.authSource = authSource;
}
const storeOptions = {
uri: baseUri,
collection: 'sessions',
});
connectionOptions: connectionOptions,
};
console.log('📋 Store options:', JSON.stringify(storeOptions, null, 2));
const store = new MongoDBStore(storeOptions);
const sessionMiddleware = session({
store: store,
credentials: true,