Reputation: 734
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.
Upvotes: 6
Views: 26070
Reputation: 1489
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');
Upvotes: 9
Reputation: 13689
try this way :
mongoose.Promise = Promise;
mongoose.set('useCreateIndex', true);
var mongooseOptions = { useNewUrlParser: true }
mongoose.connect('mongodb://localhost:27017/MyDatabase', mongooseOptions, function(err) {
if (err) {
console.error('System could not connect to mongo server.')
console.log(err)
} else {
console.log('System connected to mongo server.')
}
});
Upvotes: 1
Reputation: 175
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.
Upvotes: 5