How can I connect Robomongo (or any other mongodb client) to the mongodb instance that is created by my local Meteor application?
问题:
回答1:
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.
回答2:
Easiest way to get the current configuration details is to use the following command
meteor mongo -U
This will give you the connection string
回答3:
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
回答4:
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
回答5:
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
回答6:
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.
回答7:
@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
.
回答8:
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) :