Accessing Meteor production database
Asked Answered
P

3

44

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?

Puggree answered 3/8, 2012 at 18:28 Comment(0)
R
74

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({});.

Rankle answered 3/8, 2012 at 18:59 Comment(5)
Thank you. Now I am able to connect successfully, but every time I do a query, it is saying that I am unauthorized. I don't remember entering any password. Does meteor setup username & password by default?Puggree
meteor.com/blog/2011/12/09/… and here's the original blog postProhibitive
or even shorter, you can use: meteor mongo blahBlasted
I get "not authorized for insert on meteor.db.myCollection" when trying to insert using this created URL.. What user/pass do I need for writes? I am trying to insert from the shell.Royalty
The credentials (user/pwd) you get from meteor mongo -U <app> expire after about 60min. Is there any way to get or create permanent credentials?Concur
D
14

Simplified version of nsmeta's informative answer for the speed scanners out there:

$ meteor mongo blah.meteor.com
connecting to: ...
> show collections
    stuff
> db.stuff.find()
    {"_id" : "abcdedghiasdjlahf", stuff: "yeah!" }
Dotation answered 13/5, 2013 at 7:36 Comment(0)
L
3

UPDATE 2016:

The meteor mongo command is not working anymore because the blah.meteor.com database is version 3.0 while the meteor mongo command is still at version 2.6.7. (on the last version of Meteor, v1.2.1).

Instead, install the mongo cli and run this command :

mongo `meteor mongo --url blah.meteor.com | sed 's/mongodb:\/\//-u /' | sed 's/:/ -p /' | sed 's/@/ /'`

More details: Accessing meteor production database in 2016

Lukey answered 27/1, 2016 at 12:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.