Rohan Joshi
Rohan Joshi

Reputation: 24

i'm getting following error while connecting to mongodb server

$ mongo

MongoDB shell version v3.6.3 connecting to: mongodb://127.0.0.1:27017 2018-10-18T17:09:03.003+0530 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused 2018-10-18T17:09:03.004+0530 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:251:13 @(connect):1:6 exception: connect failed

Upvotes: 0

Views: 2249

Answers (5)

Doedigo
Doedigo

Reputation: 78

A connection refused failure to connect reason may just be a matter of your network configuration and firewall or more specifically, your operating system's port restrictions. While you may be connecting to a mongoDB server on localhost (127.0.0.1) which can't be blocked by a firewall, it is possible for a firewall to block access to specific ports on a localhost.

If you're on a linux-based system, this can be addressed by using iptables as described here with the applicable commands shown below:

iptables -A INPUT -s 127.0.0.1 -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d 127.0.0.1 -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT

However, in reading the comments on another answer, it may be that you aren't able to connect because the server isn't being launched and ran properly due to a lack of of the /data/db directory. But, a presumption based on the lack of reply to other answers suggesting to check your server is running properly, tells me you're sure that it is. In which case, try changing your hostname to localhost instead of 127.0.0.1 when connecting, as in:

mongoose.connect('mongodb://localhost:27017');

# or as more applicable for connecting to a deployment:

mongosh "mongodb://localhost:27017"

# alternatively, by default, MongoDB Shell already connects to localhost
# so you could simply use the command line option --port such as:

mongosh --port 27017

You can also try specifying more parameters in the url as it applies.

For example, connecting to an instance and authenticate against the foobar database as user rohan:

mongosh "mongodb://localhost:27017" --username rohan --authenticationDatabase foobar

To provide a password with the command instead of using the masked prompt, simply add the --password command line option.

For Windows, you may also try the solutions offered on this page.

Upvotes: 0

davcli
davcli

Reputation: 121

what OS are you using? In ubuntu you need to check your version:

service mongod status, mongod --version.

If mongod is off then just restart and write the error if possible.

service mongod restart

Upvotes: 1

Pratik Patel
Pratik Patel

Reputation: 353

first you check it mongodb proper installed or not and also check it version compatibility


I am saying windows os setup, set environment variable is path C:\Program Files\MongoDB\Server\3.6\bin; then open your command prompt and type

mongod

after open another command prompt and type

mongo

Upvotes: 0

Huzaifa Ahmed
Huzaifa Ahmed

Reputation: 324

First go to your mongoDB directory and in that directory go to bin directory and open terminal in that directory(bin), then run the following command:

mongod.exe

After that open another terminal in same directory and run the following command.

mongo.exe

It will resolve this issue.

Upvotes: 0

Naresh
Naresh

Reputation: 1251

if you are using linux, try this command

$ sudo mongod

you are getting that because you are running

$ mongo

Upvotes: 0

Related Questions