mongodb

import

dump

meteor

backup

How can I make a backup of my meteor mongo database?

If I run:

meteor mongo

the mongodump command does not work inside the meteor mongoshell

Solution 1

First you need to spin up meteor.

Then if you run

meteor mongo

you will get an output something like this:

MongoDB shell version: 2.2.1

connecting to: 127.0.0.1:3001/meteor

Meteor db host is at 127.0.0.1 with a port of 3001. Exit the mongo shell and use mongodump from your terminal.

mongodump -h 127.0.0.1 --port 3001 -d meteor

Dumps will be located under the dumps folder in the folder you executed the above command.

You can import your db back to meteor with

mongorestore -h 127.0.0.1 --port 3001 -d meteor dump/meteor

Solution 2

If you need to backup a meteor application DB deployed to meteor.com follow these steps:

  1. Be sure you are log in into your meteor dev account and generate a temporary connection link: $ cd yourapp $ meteor login $ meteor mongo yourapp.meteor.com --url

You'll get something like:

mongodb://client-ID:[email protected]:27017/yourapp_meteor_com

This link expires in 1 minute, so hurry up! :)

  1. Create a backup using mongodump command (http://docs.mongodb.org/manual/tutorial/backup-with-mongodump/#backup-from-non-local):

    $ mongodump -h production-db-b1.meteor.io --port 27017 --username client-ID --password password-3be8-f6c5-50a9-password -d yourapp_meteor_com

This backup the entire remote database into a default dump/ folder. Voila!

  1. If ever you need to import the db into local meteor mongo DB, start a mongo shell: $ meteor mongo MongoDB shell version: 2.4.9 connecting to: 127.0.0.1:3001/meteor

and in another terminal use mongorestore command

$ mongorestore --port 3001