Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Accessing Meteor production database

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?

like image 664
genkiro Avatar asked Aug 03 '12 18:08

genkiro


People also ask

What is Meteor DataBase?

The Visual Meteor DataBase (VMDB) The VMDB contains about 3,000,000 meteors obtained by standardized observing methods which were collected during the last ~25 years.

How do you run a Meteor project?

You can run it from the root directory of the project or from any subdirectory. Use 'meteor create ' to create a new Meteor project. Commands: run [default] Run this project in local development mode. ... run is the default in case no other command is specified after meteor .

What is Meteor MongoDB?

Meteor provides a complete open source platform for building web and mobile apps in pure JavaScript. The Meteor team chose MongoDB as its datastore for its performance, scalability, and rich features for JSON. Meteor apps run using JavaScript via Node. JS on the server and JavaScript in the phone's browser.


3 Answers

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

like image 91
nsmeta Avatar answered Oct 07 '22 13:10

nsmeta


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!" }
like image 35
JobJob Avatar answered Oct 07 '22 12:10

JobJob


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

like image 38
Ser Avatar answered Oct 07 '22 12:10

Ser