How to connect Robomongo to MongoDB

118,502

Solution 1

I was able to connect Robomongo to a remote instance of MongoDB running on Mongo Labs using the connection string as follows:

  1. Download the latest version of Robomongo. I downloaded 0.9 RC6 from here.

  2. From the connection string, populate the server address and port numbers as follows.

    Connection settings

  3. Populate DB name and username and password as follows under the authentication tab.

    Authentication settings

  4. Test the connection.

    Test connection

    Enter image description here

Solution 2

Note: Commenting out bind_ip can make your system vulnerable to security flaws. Please see Security Checklist. It is a better idea to add more IP addresses than to open up your system to everything.

You need to edit your /etc/mongod.conf file's bind_ip variable to include the IP of the computer you're using, or eliminate it altogether.

I was able to connect using the following mongod.conf file. I commented out bind_ip and uncommented port.

# mongod.conf

# Where to store the data.

# Note: if you run MongoDB as a non-root user (recommended) you may
# need to create and set permissions for this directory manually.
# E.g., if the parent directory isn't mutable by the MongoDB user.

dbpath=/var/lib/mongodb

# Where to log
logpath=/var/log/mongodb/mongod.log

logappend=true

port = 27017

# Listen to local interface only. Comment out to listen on all
interfaces.

#bind_ip = 127.0.0.1


# Disables write-ahead journaling
# nojournal = true

# Enables periodic logging of CPU utilization and I/O wait
#cpu = true

# Turn on/off security.  Off is currently the default
#noauth = true

#auth = true

# Verbose logging output.
#verbose = true

# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck = true

# Enable db quota management
#quota = true

# Set oplogging level where n is
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#diaglog = 0

# Ignore query hints
#nohints = true

# Enable the HTTP interface (Defaults to port 28017).
#httpinterface = true

# Turns off server-side scripting.  This will result in greatly limited
# functionality
#noscripting = true

# Turns off table scans.  Any query that would do a table scan fails.
#notablescan = true

# Disable data file preallocation.
#noprealloc = true

# Specify .ns file size for new databases.
# nssize = <size>

# Replication Options
# In replicated MongoDB databases, specify the replica set name here
#replSet=setname

# Maximum size in megabytes for replication operation log
#oplogSize=1024

# Path to a key file storing authentication info for connections
# between replica set members
#keyFile=/path/to/keyfile

Don't forget to restart the mongod service before trying to connect:

service mongod restart

From Robomongo, I used the following connection settings:

Connection Tab:

  • Address: [VPS IP] : 27017

SSH Tab:

  • SSH Address: [VPS IP] : 22

  • SSH User Name: [Username for sudo enabled user]

  • SSH Auth Method: Password

  • User Password: Supersecret

Solution 3

  1. First you have to run the mongod command in your terminal. Make sure the command executes properly.

  2. Then in a new terminal tab run the mongo command.

  3. Then open the Robomongo GUI and create a new connection with the default settings.

Solution 4

It looks like Robomongo does not yet work with MongoDB 3:

Can't Connect to Mongo 3.0 DB server #771

Solution 5

Currently, Robomongo 0.8.x doesn't work with MongoDB 3.0:

For now, don't use Robomongo. For me, the best solution is to use MongoChef.

Share:
118,502

Related videos on Youtube

Karishma Dudhbade
Author by

Karishma Dudhbade

Updated on July 09, 2022

Comments

  • Karishma Dudhbade
    Karishma Dudhbade almost 2 years

    I am have MongoDB and Robomongo in my running system, and I am using Robomongo as the client.

    I have installed MongoDB on a different system which I am treating as server, and I want to connect Robomongo of my system (as a client) to MongoDB on another system (server). What steps should I follow to achieve the same?

    I am using the machine name, as the system's IP address is not static. But even if I use the system's IP address, I get the same error:

    connect failed, can't connect couldn't connect to server W7IN05200067D:27017"

    I am connecting to it directly, and I am not using any authentication.

  • sepehr
    sepehr over 9 years
    Narrow down the situation by using the IP for now. What port the remote mongod server is using? Is this the default 27017? Is the problem specific to robomongo?! Can you connect using mongo shell? You might need to change SSL/SSH settings.
  • Admin
    Admin over 8 years
    What is the alternative then ?
  • Yuri Dorokhov
    Yuri Dorokhov over 7 years
    I don't have etc folder and mongod.conf in my Mongo folder. Do you know, was Mongo installed wrong on my machine or should it be added somehow?
  • ShahNewazKhan
    ShahNewazKhan over 7 years
    @YuriDorokhov sorry for the delayed response, /etc folder is in the root directory of your Linux installation not in the your Mongo folder.
  • xiao
    xiao over 7 years
    Do not EVER comment out bind_ip = 127.0.0.1!!!!! You can add other IPs to it, but if you comment out bind_ip you are creating a potential security vulnerability allowing public access to your mongodb server. @ShahNewazKhan Please modify your post. See mongodb security checklist here docs.mongodb.com/manual/administration/security-checklist/…
  • ShahNewazKhan
    ShahNewazKhan over 7 years
    @linxtion thanks for the heads up, I have updated my answer accordingly
  • Daan
    Daan over 6 years
    Worked like a charm! Thanks for the great explanation
  • Eray T
    Eray T over 5 years
    I have been having this issue and looking for answers for hours... This literally solved my problem. Thank you so much.
  • Jag
    Jag about 3 years
    I would like keep my original answer and without any edits and with Typos....