Mongodb: failed to connect to server on first connect

657    Asked by Ajit yadav in Devops , Asked on Jun 14, 2021

I get the following error:

Warning { MongoError: failed to connect to server [mongodb:27017] on first connect at Pool. (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/topologies/server.js:325:35) at emitOne (events.js:96:13) at Pool.emit (events.js:188:7) at Connection. (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/connection/pool.js:270:12) at Connection.g (events.js:292:16) at emitTwo (events.js:106:13) at Connection.emit (events.js:191:7) at Socket. (/Users/michaelks/Desktop/users/node_modules/mongodb-core/lib/connection/connection.js:173:49) at Socket.g (events.js:292:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at connectErrorNT (net.js:1025:8) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickCallback (internal/process/next_tick.js:98:9) name: 'MongoError', message: 'failed to connect to server [mongodb:27017] on first connect' }

Even though I get this in the terminal window where I run Mongo:

2016-12-25T03:45:23.715+0100 I NETWORK [initandlisten] connection accepted from 127.0.0.1:58868 #8 (8 connections now open)

It kinda looks like there is a connection.

I've tried both

$ mongod

and

$ brew services start mongo

This is my test_helper.js

const mongoose = require('mongoose'); mongoose.connect('mongodb:localhost/users_test'); mongoose.connection .once('open', () => console.log('Good to go!')) .on('error', (error) => { 

console.warn('Warning', error); 

});

I have not specifically made the db "users_test" as I am under the impression that mongoose or mongo or both will do this on the fly.

I've tried both "localhost" and "127.0.0.1​". I'm on OSX 10.11.5 I'm running Node 7.3.0 and Mongo 3.2.9

What am I doing wrong? How do I figure out what's wrong?

Answered by akash Mishra

By using the below-mentioned codes you can solve mongoerror: failed to connect to server [localhost:27017] on first connect, you can use :

mongoose.connect('mongodb://localhost/users_test');
or
mongoose.connect('localhost/users_test');
or
mongoose.connect('localhost','users_test');

But not mongoose.connect('mongodb:localhost/users_test');it doesn't match the right hostname (mongodb instead of localhost)



Your Answer

Interviews

Parent Categories