Update MongoDB connection settings and enhance debugging capabilities
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user