1

I use connect-mongo and express-session to store sessions in my database. It works fine on my local mongodb, but when it comes to MongoDB Atlas, the middleware creates a new database named test and places sessions collection in it. I want the sessions collection to be created in nodeblog_online db. Thanks in advance.

screenshot:

https://i.stack.imgur.com/Zulpg.png

app.js :

const express = require('express');
const app = express();
const mongoose = require('mongoose');
const session = require('express-session');
const connectMongo = require('connect-mongo');
const dotenv = require('dotenv');
const conn = require('./db'); //to connect my database********

dotenv.config();

conn();

app.use(session({
    secret: 'testo',
    dbName: 'nodeblog_online',
    resave: false,
    saveUninitialized: true,
    store: connectMongo.create({ mongoUrl: process.env.DB_URL })
}));

db.js (conn function)

const mongoose = require('mongoose');

const conn = () => {
    mongoose.connect(process.env.DB_URL, {
        dbName: 'nodeblog_online',
        useNewUrlParser: true,
        useUnifiedTopology: true,
    }).then(() => {
        console.log('connected successfully.')
    }).catch(err => {
        console.log(`connection error: ${err}`)
    })
}

module.exports = conn;
codex
  • 11
  • 2

0 Answers0