Accessing Meteor production database

genkiro picture genkiro · Aug 3, 2012 · Viewed 36.2k times · Source

To check out what's in the (production) database for blah.meteor.com I thought we would just do:

meteor mongo --url http://blah.meteor.com/

But instead I get a URI:

mongodb://client:984dae4c-04fb-c8bb-68f6-ed83602435cc@skybreak.member1.mongolayer.com:27017/blah_meteor_com

How would I use this URI to access the db?

Answer

nsmeta picture nsmeta · Aug 3, 2012

You should use meteor mongo http://blah.meteor.com; or even shorter meteor mongo blah.meteor.com.

For documentation you can run meteor help mongo. Extract from running the help command above:

Instead of opening a shell, specifying --url (-U) will return a URL suitable for an external program to connect to the database. For remote databases on deployed applications, the URL is valid for one minute.

So what it's saying is, the url provided by running the command with the --url option is for connecting to the database by some external application, i.e. other than meteor.

UPDATE:

When you connect to MongoDB, you should get a greeting message similar to this:

MongoDB shell version: 2.0.2
connecting to: skybreak.member1.mongolayer.com:27017/userdb_meteor_com

Enter the following command: use userdb_meteor_com (where userdb_meteor_com is taken from the URL in the greeting message above).

To see your collections (usually they refer to collections created in your Meteor app): show collections. You should get something like this:

system.indexes
system.users
users

Now you can run usual commands, e.g.: db.users.find({});.