Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 674
chachacha Avatar asked Jul 09 '19 03:07

chachacha


2 Answers

You can directly use the official mongoimport command, from a shell.

Below a full example :

mongoimport -h localhost:27018 -d developer-database -c developer-collection -u root -p root --authenticationDatabase admin --file data-local.json

You can add the option --jsonArray if you json contains an array.

You can add the option --type csv, if your file is not a json but a csv.

More informations: https://docs.mongodb.com/manual/reference/program/mongoimport/#bin.mongoimport

like image 194
veben Avatar answered Oct 11 '22 19:10

veben


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.

like image 41
mysl Avatar answered Oct 11 '22 18:10

mysl