'"ReplicaSetNoPrimary " error when I connect to Atlas(mongodb) from Linux Centos 8 using mongoose in Node JS
I am trying to deploy my NodeJS app through my private cloud server(linux centos 8). My NodeJS app needs to maintain connection with Atlas mongo DB because it stores and retrieves data from it. When I test this app in my local computer(Windows 10) with the address "https://localhost:3000" type of testing, all things worked fine. However, when I try to start the same app on the Linux server, I confront error "ReplicaSetNoPrimary". Certainly, I added all IP address to my IP White list in Mongo DB. But it does not work.
app.js
const { MongoClient } = require('mongodb');
require('dotenv').config();
const express= require("express");
const router= express.Router();
const app= express();
app.use(express.json());
const bodyParser= require("body-parser");
const mongoose= require("mongoose");
const ejs= require("ejs");
const flash= require('connect-flash');
const date= require("./date.js");
var _=require('lodash');
const session= require("express-session");
const passport= require("passport");
require('./config/passport')(passport)
const uri= process.env.ATLAS_URI;
mongoose.connect(uri, {
useNewUrlParser: true,
useCreateIndex: true, useUnifiedTopology: true,
ssl:true
});
const connection= mongoose.connection;
connection.once('open', ()=>{
console.log("Connected to Atlas,,");
});
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({extended:true}));
app.use(express.static("public"));
app.use(session({
secret: process.env.SECRET,
resave:false, saveUninitialized:true
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(flash());
app.use((req, res,next)=>{
res.locals.success_msg= req.flash('success_msg');
res.locals.error_msg= req.flash('error_msg');
res.locals.error= req.flash('error');
next();
})
app.use('/', require('./routes/index'));
app.use('/users', require('./routes/users'));
app.listen(3000, function(req, res){
console.log("Server started");
})
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
