Skip to main content

Migrate data

Whitelist your IP in Moralis

In order to access your MongoDB you need to whitelist your IP address:

Connect directly to the hosted Moralis MongoDB

You can connect to the MongoDB that is hosted on Moralis via different methods:

Using scripts

const { MongoClient } = require('mongodb');


// Create a new MongoClient
const client = new MongoClient(`mongodb://${MONGO_HOST}:${MONGO_PORT}`);

async function run() {
try {
// Connect the client to the server
await client.connect();
// Establish and verify connection
await client.db('admin').command({ ping: 1 });
console.log('Connected successfully to server');
} finally {
// Ensures that the client will close when you finish/error
await client.close();

After you have established direct access to Mongo DB, you You can do your own dumps for the database.


_User table is a particular example of table that starts with _, most of the tables will not start with _

Using Compass

You can use Compass to interact with MongoDB using a tool with an interface.

Now you are connected to the MongoDB that is hosted on Moralis. For reference on how to export data, see

Using mongodump and mongorestore

mongodump and mongorestore are command line tools you can use to perform a full database migration from your hosted server to your self-hosted server.

  1. Install MongoDB Database Tools. You can read the instructions specific to your OS here.
  2. Run the following command to dump your hosted server's database:
mongodump mongodb://ipaddress:port --db=parse

You should have a folder called dump with a folder called parse inside it.

  1. Change the terminal's directory to dump.
  2. Run the following command to migrate the data to your new MongoDB database - this will copy the data from the parse folder to a database called parse (/parse):
mongorestore mongodb+srv://username:password@*** parse

Import data

To import data, you can use the same methods as in the previous step. You can use a script, or connect via Compass, or use mongorestore. The difference is that you will need to provide the DATABASE_URI of your server that you have specified in your .env.