How to Connect Your MongoDB Deployments to Robo 3T GUI at ScaleGrid
Tags: mongodb, robo3t, gui, database
Published: 2019-01-17 20:23:47

---
title: How to Connect Your MongoDB Deployments to Robo 3T GUI at ScaleGrid
published: true
description: How to connect your ScaleGrid MongoDB hosting DBaaS to Robo 3T's free GUI. Interact with your data through visual indicators instead of a text-based interface.
tags: MongoDB, Robo 3T, GUI, Database,
canonical_url: https://scalegrid.io/blog/how-to-connect-your-mongodb-deployments-to-robo-3t-gui-at-scalegrid/
---
<link rel="canonical" href="https://scalegrid.io/blog/how-to-connect-your-mongodb-deployments-to-robo-3t-gui-at-scalegrid/" />

<a href="https://scalegrid.io/blog/how-to-connect-your-mongodb-deployments-to-robo-3t-gui-at-scalegrid/"><img class="aligncenter wp-image-3880 size-full" src="https://scalegrid.io/blog/wp-content/uploads/2019/01/How-to-Connect-Your-MongoDB-Deployments-to-Robo-3T-GUI-at-ScaleGrid.jpg" alt="" width="100%" height="auto" /></a>
<p style="text-align: justify;"><a href="https://robomongo.org/" target="_blank" style="color:#2da964;">Robo 3T</a> (formerly Robomongo) is a popular desktop graphical user interface (GUI) for your <a href="https://scalegrid.io/mongodb.html" style="color:#2da964;">MongoDB hosting</a> deployments that allows you to interact with your data through visual indicators instead of a text-based interface. This open source tool has cross-platform support and actually embeds the <a href="https://docs.mongodb.com/manual/mongo/" target="_blank" rel="nofollow" style="color:#2da964;">mongo shell</a> within its interface to provide both shell and GUI-based interaction.</p>
<p style="text-align: justify;">As a highly-popular GUI leveraged by our MongoDB hosting customers, we're providing this tutorial on how to quickly <a href="https://scalegrid.io/blog/how-to-connect-your-mongodb-deployments-to-robo-3t-gui-at-scalegrid/">connect your ScaleGrid deployment with Robo 3T</a>.</p>

<h2 style="padding-top:15px;">Prerequisites</h2>
<h3 style="padding-top:15px;">Identify Client Machine</h3>
<p style="text-align: justify;">The first thing we need to do is identify a machine to <a href="https://robomongo.org/download" target="_blank" style="color:#2da964;">install Robo 3T</a><strong>. </strong>You can either <a href="https://help.scalegrid.io/docs/mongodb-new-cluster" target="_blank" style="color:#2da964;">create a new instance</a>, or pick an existing instance which has access to the ScaleGrid MongoDB cluster you'd like to connect to. For new ScaleGrid users, create a <a href="https://console.scalegrid.io/users/register" target="_blank" style="color:#2da964;">free 30-day trial account</a> and set up your first MongoDB cluster (Robo 3T supported on all plans).</p>

<ul>
	<li style="text-align: justify;padding-bottom:10px;">For our MongoDB <a href="https://scalegrid.io/pricing.html#section_pricing_byoc" style="color:#2da964;">Bring Your Own Cloud </a>(BYOC) AWS deployments that are not open to the internet, this may mean selecting an instance that is allowed to connect to the Security Group and also has VPN connectivity to the Virtual Private Cloud (VPC).</li>
	<li style="text-align: justify;">For AWS customers who have their deployments open to the internet, this will involve adding the identified machine's IP address to the ScaleGrid cluster's <a href="https://help.scalegrid.io/docs/account-firewall-rules" target="_blank" style="color:#2da964;">whitelist.</a></li>
</ul>
<h3 style="padding-top:15px;">Install Robo 3T</h3>
<p style="text-align: justify;">Robo 3T is available for download <a href="https://robomongo.org/download" target="_blank" style="color:#2da964;">here</a>. It's very important to check your ScaleGrid deployment to ensure you install the Robo 3T version that supports the deployment's current MongoDB version, and you can check this link for more information on <a href="https://github.com/Studio3T/robomongo#supported-platforms" target="_blank" style="color:#2da964;">Robo 3T's supported platforms</a>. The latest version of Robo 3T at the time of writing this is 1.2, which supports MongoDB <a href="https://github.com/Studio3T/robomongo#about-robo-3t" target="_blank" style="color:#2da964;">versions up to 3.4</a>.</p>

<h3 style="padding-top:15px;">Create Robo 3T User on MongoDB</h3>
<p style="text-align: justify;">We do not recommend connecting to your MongoDB deployment using the "admin" user that ScaleGrid provides by default. Instead, create a new user with appropriate permissions for client access. The roles that you choose to assign to the user will depend on your exact use-case.</p>
<p style="text-align: justify;">In order to create simple, per-database, read-write or read-only users, log into the <a href="https://console.scalegrid.io" target="_blank" style="color:#2da964;">ScaleGrid console</a>, navigate to the cluster details page, and click on the Databases tab:</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdDatabasesTab.jpg"><img class="aligncenter wp-image-3713 size-full" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdDatabasesTab.jpg" alt="Databases Tab" width="1536" height="486" /></a>
<p style="text-align: justify;">Click on the Manage button beside the database you want to create the user on, and then select the Users tab:</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/New-User-button.jpg"><img class="aligncenter wp-image-3716 size-full" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/New-User-button.jpg" alt="New User button" width="1584" height="393" /></a>
<p style="text-align: justify;">For creating users with more advanced roles and permissions, refer to the <a href="https://docs.mongodb.com/manual/tutorial/create-users/" target="_blank" rel="nofollow" style="color:#2da964;">MongoDB Add Users tutorial</a>, <a href="https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles" target="_blank" rel="nofollow" style="color:#2da964;">MongoDB roles guide </a>or <a href="https://scalegrid.io/blog/creating-role-based-access-control-in-mongodb/" target="_blank" style="color:#2da964;">our guide</a> to <a href="https://scalegrid.io/blog/mongodb-basics-configuring-role-based-access-control-rbac/" target="_blank" style="color:#2da964;">MongoDB RBAC</a>.</p>
<p style="text-align: justify;">You can also use the ScaleGrid web-shell available on the Admin tab to create such users. For this example, I will create a new user who has <a href="https://docs.mongodb.com/manual/reference/built-in-roles/#all-database-roles" target="_blank" rel="nofollow" style="color:#2da964;">read-write access </a>to any database on the cluster:</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2019/01/WebshellSmall.png"><img class="aligncenter wp-image-3880 size-full" src="https://scalegrid.io/blog/wp-content/uploads/2019/01/WebshellSmall.png" alt="" width="1439" height="680" /></a>
<p style="text-align: justify;">With the prerequisites in place, we can now go to the Robo 3T GUI to continue to connect to our database deployment.</p>

<h2 style="padding-top:15px;">Connecting to a Standalone MongoDB Deployment</h2>
<p style="text-align: justify;">Our <a href="https://scalegrid.io/pricing.html#section_pricing_byoc" style="color:#2da964;">BYOC </a>and <a href="https://scalegrid.io/pricing.html#section_pricing_dedicated" style="color:#2da964;">Dedicated</a> plan users often start with a <a href="https://docs.mongodb.com/manual/reference/glossary/#term-standalone" target="_blank" rel="nofollow" style="color:#2da964;">standalone</a> MongoDB deployment during their free 30-day trial before moving on to <a href="https://docs.mongodb.com/manual/reference/glossary/#term-replica-set" target="_blank" rel="nofollow" style="color:#2da964;">replica sets </a>for development and production environments.</p>
<p style="text-align: justify;">You will need the database server name and port to start, which can be found in your Connection String on your MongoDB cluster details page in the console:<!--StartFragment--><!--EndFragment--></p>
<p style="text-align: justify;"><a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/ConnString.png"><img class="aligncenter size-full wp-image-3740" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/ConnString.png" alt="ConnString" width="982" height="111" /></a>Here's an example of how to identify your server name and port from your Connection String:</p>

<ul>
	<li style="padding-bottom:10px;"><strong>Connection String</strong>: <tt>mongodb://admin:&lt;password&gt;@SG-example-1234.servers.mongodirector.com:27017/admin?ssl=true</tt></li>
	<li style="padding-bottom:10px;"><strong>Server Name</strong>: <tt>SG-example-1234.servers.mongodirector.com</tt></li>
	<li style="padding-bottom:10px;"><strong>Port: </strong><tt>27017</tt></li>
</ul>
<h3 style="padding-top:15px;">Setting Up a New Connection on Robo 3T</h3>
<p style="text-align: justify;">Launch Robo 3T and open the 'Manage Connections' window:</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/ManageConnections.jpg"><img class="aligncenter size-full wp-image-3721" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/ManageConnections.jpg" alt="ManageConnections" width="693" height="416" /></a>
<p style="text-align: justify;">Click on 'Create' to setup a new connection.</p>

<h4 style="padding-top:15px;">Standalone Connection Settings</h4>
<p style="text-align: justify;">In the Connection tab, select Direct Connection as the 'Type', give the connection a name, and enter the server name and port picked from the Connection String found in your ScaleGrid MongoDB cluster details page in the 'Address' and 'Port' fields:</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdScreen1.jpg"><img class="aligncenter size-full wp-image-3722" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdScreen1.jpg" alt="Std Screen1" width="659" height="687" /></a>
<h4 style="padding-top:15px;">Authentication Settings</h4>
<p style="text-align: justify;">In the Authentication tab, enter the Database as 'admin' (or whatever database you have created your MongoDB user on). Then, enter your user credentials in the remaining fields:</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdScreen2.jpg"><img class="aligncenter size-full wp-image-3723" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdScreen2.jpg" alt="StdScreen2" width="660" height="327" /></a>
<h3 style="padding-top:15px;">SSL Settings</h3>
<p style="text-align: justify;">If SSL is enabled on your MongoDB cluster, then additional configuration is required on the SSL tab which can be setup as shown below. By default, ScaleGrid provides self-signed certificates, however you have the option to <a href="https://scalegrid.io/blog/bring-your-own-ssl-certificates/" target="_blank" style="color:#2da964;">bring your own SSL certificates </a>or ask us to buy them on your behalf:</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdSSLScreen3.jpg"><img class="aligncenter size-full wp-image-3724" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdSSLScreen3.jpg" alt="StdSSLScreen3" width="552" height="428" /></a>
<p style="text-align: justify;">You are now set! Click on 'Test' to test the connection. Robo 3T should be able to connect successfully.</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2019/01/StdSuccess.png"><img class="aligncenter wp-image-3881 size-full" src="https://scalegrid.io/blog/wp-content/uploads/2019/01/StdSuccess.png" alt="" width="671" height="433" /></a>
<p style="text-align: justify;">Save the connection, then double click on it, and you will see your database.</p>
<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdDBList.jpg"><img class="aligncenter size-full wp-image-3726" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/StdDBList.jpg" alt="StdDBList" width="256" height="257" /></a>
<h2 style="padding-top:15px;">Connecting to a MongoDB Replica Set Deployment</h2>
<p style="text-align: justify;">All of our <a href="https://scalegrid.io/pricing.html#section_pricing_shared" target="_blank" style="color:#2da964;">Shared </a>plan users are started on replica sets by default, though most production workloads are deployed on (<a href="https://scalegrid.io/pricing.html#section_pricing_dedicated" target="_blank" style="color:#2da964;">Dedicated</a> or <a href="https://scalegrid.io/pricing.html#section_pricing_byoc" target="_blank" style="color:#2da964;">BYOC</a>) replica sets.</p>
<p style="text-align: justify;">Connecting your ScaleGrid MongoDB replica set to Robo 3T is similar to connecting a standalone deployment. Most of the settings are the same, except instead of specifying a single server name, we need to specify a list of server names. The list can be created from the Connection String.</p>
<p style="text-align: justify;">If your connection string looks like:</p>
<pre>mongodb://admin:&lt;password&gt;@SG-example-170.servers.mongodirector.com:47100,SG-example-171.servers.mongodirector.com:47100,SG-example-172.servers.mongodirector.com:47100/admin?replicaSet=RS-example-0&amp;ssl=true</pre>
<p style="text-align: justify;">then, your list of server and ports would be:</p>
<ul>
	<li style="padding-bottom:10px;"><tt>SG-example-170.servers.mongodirector.com:47100</tt>,</li>
	<li style="padding-bottom:10px;"><tt>SG-example-171.servers.mongodirector.com:47100</tt></li>
	<li style="padding-bottom:10px;"><tt>SG-example-172.servers.mongodirector.com:47100</tt></li>
</ul>
<p style="text-align: justify;">And the replica set name is: <tt>'RS-example-0'</tt>.</p>
<h3 style="padding-top:15px;">Setup a New Replica Set Connection on Robo 3T</h3>
<p style="text-align: justify;">Like before, launch Robo 3T and open the 'Manage Connections' window. Then click on 'Create' to setup a new connection.</p>

<h4 style="padding-top:15px;">Replica Set Connection Settings</h4>
<p style="text-align: justify;">Select Type as 'Replica Set', type in a name, and then enter your server names as found by the example above. Your replica set name can also be entered:</p>

<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/RSScreen1.jpg"><img class="aligncenter size-full wp-image-3728" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/RSScreen1.jpg" alt="RSScreen1" width="552" height="547" /></a>

<p style="text-align: justify;">The configuration on the Authentication and SSL tabs are identical to the standalone configuration.</p>

<p style="text-align: justify;">Once setup, click on 'Test' to verify connectivity and then double click on the connection to establish a connection.</p>

<a href="https://scalegrid.io/blog/wp-content/uploads/2018/12/RSDbList.jpg"><img class="aligncenter wp-image-3729 size-full" src="https://scalegrid.io/blog/wp-content/uploads/2018/12/RSDbList.jpg" alt="RSDbList" width="1911" height="448" /></a>
<h2 style="padding-top:15px;">Troubleshooting</h2>
<p style="text-align: justify;">If you’ve completed all of the above steps for either a MongoDB standalone or a replica set deployment and your connections aren't working, here are a few to things to try out:</p>

<ol>
	<li  style="padding-bottom:10px; text-align: justify;">Ensure you can connect from the client machine to the MongoDB server using mongo shell. The syntax for connection is available on the ScaleGrid <a href="https://console.scalegrid.io/application/mongoclusters" target="_blank" style="color:#2da964;">MongoDB cluster details page</a> in the Overview tab under the heading 'Command Line String'.</li>
	<li  style="padding-bottom:10px; text-align: justify;">Ensure that the MongoDB version is <a href="https://github.com/Studio3T/robomongo#supported-platforms" style="color:#2da964;">supported</a> by the Robo 3T you are using.</li>
	<li  style="padding-bottom:10px; text-align: justify;">Ensure that the credentials you're using to connect are correct.</li>
	<li  style="padding-bottom:10px; text-align: justify;">Check if the deployment has SSL enabled and you have configured it correctly.</li>
</ol>
<p style="text-align: justify;padding-bottom:20px;">If you have any issues, get in touch with us at <a href="mailto:support@scalegrid.io" style="color:#2da964;">support@scalegrid.io</a> and we would be happy to help you out!</p>