Search code examples
jsonmongodbremote-servermongoimport

How to mongoimport in a remote server


I'm trying to create a simple website that displays a table based on a relatively small json data (>5MB). I plan on importing the json into MongoDB and performing queries using a driver (either Mongoose or PyMongo). As the data size is very small, I'd like to avoid using the cloud service so that I only pay for the server costs.

I've tried to familiarize myself with mongoimport by trying that on my local machine. I was successful in importing the data locally but now I'd like to do this on the remote server.

How would you do this on a remote server? As I understand, mongod should be running in the background to start mongo or mongoimport. How do you achieve this with one window? Is there a guide that any of you found helpful in doing this type of a job?


Solution

  • Since your data size is small, I'd recommend using MongoDB Atlas. Create a cluster and mongoimport using the URI which can be found within your cluster (Connect --> Connect Your Application --> Connection String Only).

    To mongoimport,

    mongoimport --uri "URI" --drop --collection collectionName --file localFileLocation
    

    where you need to specify: 1) "URI" 2) collectionName 3) localFileLocation.

    Once the mongoimport works, you can query the cloud data via Mongo shell after fetching the connection string (Connect --> Connect with the Mongo Shell --> Connection String Only)

    mongo "connectionString" --username yourUsername
    

    where you need to specify: 1) "connectionString" 2) yourUsername.

    Now, type in your password associated with the cluster you created, then you should be connected and ready to query data held in Mongo Atlas from the command line.