New Feature: MongoLab can now manage remote databases
MongoDB sports a powerful command line shell to create and manipulate databases, collections and documents. As powerful and complete as it is, sometimes a Graphical User Interface (GUI) is more appropriate and preferred. We here at MongoLab have always been at work on Web GUI tools for our hosted MongoDB instances. On more than a few occasions, we've been asked by customers to port our Web GUI to manage their independent instances. With features like Saved Queries, Query Profiler Enabler, Table Views with projections, and a JSON-validating document editor, our Web GUI makes short work of housekeeping and ad hoc document management.
So today we are delighted to announce a beta of a brand new service of MongoLab: Remote Connections! Now for all of you who are familiar with MongoLab, the handy admin tools you know and love can be used with any MongoDB instance on the Internet! If you're new to MongoLab, you'll have a web-based view into your MongoDB at the server, database, collections, and document levels.
How do I use it?
To try it out, create a new account if you haven't already or log in if you have. You will see a new Remote Connections section in your home page. Click the Add button (red arrow above) and simply provide a name for your connection and a standard MongoDB URI in the dialog box. Before you know it, you'll be browsing and managing your own data in style.
Connect to a single database or an entire mongod server!
If you're administering a whole mongod server, you can create a single connection to manage all of its databases at once! Just leave the database name out of the URI (or specify the admin database) and you will have access to all the databases on the server. You can create new databases, delete existing ones, see the overall health status of your server, and perform many other server-level administrative tasks, all in your browser.
What about authentication?
If your database requires authentication, you may provide your credentials directly in your URI when creating your Remote Connection. If you do not provide them, that's fine too; we'll just prompt you for them when necessary. We'll even store your credentials in our system for you if you'd like so that you don't have to log in every time. You can be assured that your credentials will be stored in an encrypted form in a secure location. That being said, you always have the option of not storing them, in which case they will only be used to authenticate your current session and then discarded immediately.
Is this secure?
While the communications between your browser and MongoLab will always be secured over SSL, the connection between MongoLab and your remote database will use the standard MongoDB wire protocol, which is sent in the clear (MongoDB reference). This leaves the data sent over that connection vulnerable to snooping, so you will need to decide whether that is acceptable for your particular case. That is, don't put your thermonuclear missile launch codes through it. If you connect to your database over the open Internet anyway (via driver or shell), then connecting through MongoLab is no more vulnerable to snooping.
It's not working for me!
Keep in mind if you're running a local server on your laptop or even in the cloud there could be network issues (NAT traversal, firewall port blocks, etc.) that you'll need to iron out with port forwarding and the like. If you want to just try connectivity out, you can create a free hosted database on MongoLab* and use its connection URL to create a remote connection (it'll look like mongodb://... and is at the top of the database page). Redundant, yes but it'll validate that you've gotten the gist of the connection string with authentication parameters.
We've tested with version 1.8 and 2.0 of the server. No guarantees about 1.6 or prior.
And well, we're still in beta with this offering so there still may be a few kinks to iron out. If you have trouble with this or any of our other services, please don't hesitate to shoot us an email at firstname.lastname@example.org and we'll be happy to help.
Thank you for taking it out for a spin.
UPDATE: 2012-01-04 corrected wording error in "Is this secure?" section: "... is no more vulnerable"
This is the “wpengine” admin user that our staff uses to gain access to your admin area to provide support and troubleshooting. It can only be accessed by a button in our secure log that auto generates a password and dumps that password after the staff member has logged in. We have taken extreme measures to ensure that our own user is not going to be misused to harm any of our clients sites.