How to connect mongodb clients to local Meteor MongoDB

MongodbMeteor

Mongodb Problem Overview


How can I connect Robomongo (or any other mongodb client) to the mongodb instance that is created by my local Meteor application?

Mongodb Solutions


Solution 1 - Mongodb

Ensure Meteor is running on localhost. Open a terminal window and run meteor command. It will start running on localhost:3000 if you have not changed to port.

While it is running, open a separate terminal window and run meteor mongo command. This will open up a MongoDB shell and tell you what port it is connecting to This is normally 3001 as of version 0.7.1.1 or 3002 if earlier. It will say something like 127.0.0.1:3001/meteor

Go to Robomongo (or your favorite mongodb client software) and create a new connection, making sure to change the connection address to localhost and the given the port number. No need to additionally define /meteor if your client does not insist on a default database.

Also as pointed out in https://stackoverflow.com/a/22023284/1064151 some drivers may need specific line endings, delimeters or other character flow. For example, ObjCMongoDB a C based driver wants the url to be 127.0.0.1:3001/ with that extra / at the end, or it won't work. So make sure you check the documentation for your driver/client.

Solution 2 - Mongodb

Easiest way to get the current configuration details is to use the following command

meteor mongo -U

This will give you the connection string

Solution 3 - Mongodb

From terminal run following command

meteor mongo -U

That will show you the local host IP address and in which port you application is running. Now run the Robomongo and configure as following two field as you got by running the previous command

enter image description here

Solution 4 - Mongodb

Use SSH tunneling by the following command :

ssh -L 3001:localhost:3001 user-name@host

It forwards connections from your local port 3001 to localhost:3001 on your server. Now we can simply connect to our database.

Create a Robomongo connection on your localhost and hit Test (Out of two checks, Authentication may fail) :

enter image description here

Solution 5 - Mongodb

I'm using ObjCMongoDB, a C based mongoDB driver. With the new update instead of using the previous 127.0.0.1:3002 to connect to my localhost running meteor's mongodb, I now need to use 127.0.0.1:3001/ with the collection name still being meteor.collection. The important change is the port from :3002 to :3001/. Remember the /, it is critical for the connection.

Solution 6 - Mongodb

This worked for me,Before connecting make sure meteor is running. I am using Robomongo to connect. Create new connection and add Address as : localhost; port as: 3001

Solution 7 - Mongodb

I'm too using Robomongo and before the latest update V0.7.1,i used port 3002 to connect,as @Serkan Durusoy suggest's for the latest update it is working for 3001 port

Solution 8 - Mongodb

@imal365 answer is perfect. Just to add my insight on it:

I realized that the default Meteor Mongo port number is the port number of the application with 1 added to it (as of version 0.7.1.1). In my case, I was running Meteor on port 1337 with the command meteor --port 1337 and my Meteor Mongo port was 1338.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser3330705View Question on Stackoverflow
Solution 1 - MongodbSerkan DurusoyView Answer on Stackoverflow
Solution 2 - Mongodbimal hasaranga pereraView Answer on Stackoverflow
Solution 3 - MongodbJ4cKView Answer on Stackoverflow
Solution 4 - MongodbParth mehtaView Answer on Stackoverflow
Solution 5 - MongodbNateView Answer on Stackoverflow
Solution 6 - MongodbJackalView Answer on Stackoverflow
Solution 7 - MongodbSasikanthView Answer on Stackoverflow
Solution 8 - MongodbBrunno Vodola MartinsView Answer on Stackoverflow