Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to connect to MongoDB in local network with express and mongoose

I'm setting up a server with express and mongoose and I'd like it to be usable in other machines present in my local network. The bind_ip variable has already been set to 0.0.0.0 in the Mongodb configuration file.

const connection = mongoose
    .connect(
        "mongodb://192.168.254.104/db",
        {
            useNewUrlParser: true
        }
    )
    .then(() => console.log("Connected to MongoDB"))
    .catch(error => console.log(error));

I've tried connecting on my mobile phone but the server response says it didn't find the database.

like image 971
gian29 Avatar asked Dec 10 '22 03:12

gian29


2 Answers

First, you should run a MongoDB server on Local.

Default running port is: 27017

mongoose.connect('mongodb://localhost:27017/', {
    dbName: 'event_db',
    useNewUrlParser: true,
    useUnifiedTopology: true 
}, err => err ? console.log(err) : console.log('Connected to database'));

Or you can do

mongoose.connect('mongodb://localhost:27017/event_db');
like image 141
Prathamesh More Avatar answered Dec 12 '22 15:12

Prathamesh More


This is the format of mongodb connection String:

mongodb://[username:password@]host1[:port1][,...hostN[:portN]]][/[database][?options]]

If you want to connect to a localhost database then the string would be like this:

"mongodb://localhost:27017/mydb"

Where "mydb" is the DB name on your local machine.

like image 35
user9009353 Avatar answered Dec 12 '22 17:12

user9009353