Tell us what’s happening:
I’m struggling to connect my database. I’ve copied the server.js exactly as the instructions said but It’s not working. I assume it might be that I’ve did something wrong with the url but I don’t know and I’ve been trying to look at all the tutorials online but they seem different and saying different things. It is important to note that I’m using Replit to do this.
My code so far: server.js
‘use strict’;
require(‘dotenv’).config();
const express = require(‘express’);
const myDB = require(‘./connection’);
const fccTesting = require(‘./freeCodeCamp/fcctesting.js’);
const session = require(‘express-session’);
const passport = require(‘passport’);
const { ObjectID } = require(‘mongodb’);
const app = express();
app.set(‘view engine’, ‘pug’);
app.set(‘views’, ‘./views/pug’);
app.use(session({
secret: process.env.SESSION_SECRET,
resave: true,
saveUninitialized: true,
cookie: { secure: false }
}));
app.use(passport.initialize());
app.use(passport.session());
fccTesting(app); // For fCC testing purposes
app.use(‘/public’, express.static(process.cwd() + ‘/public’));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
myDB(async client => {
const myDataBase = await client.db(‘database’).collection(‘users’);
app.route(‘/’).get((req, res) => {
res.render(‘index’, {
title: ‘Connected to Database’,
message: ‘Please log in’
});
});
passport.serializeUser((user, done) => {
done(null, user._id);
});
passport.deserializeUser((id, done) => {
myDataBase.findOne({ _id: new ObjectID(id) }, (err, doc) => {
done(null, doc);
});
});
}).catch(e => {
app.route(‘/’).get((req, res) => {
res.render(‘index’, { title: e, message: ‘Unable to connect to database’ });
});
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(Listening on port ${PORT});
});
//This image is of my URL for the cluster.
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36
Challenge Information:
Advanced Node and Express - Implement the Serialization of a Passport User

