Skip to main content

Import/Export .CSV file in MongoDB

We can import .csv data in mongodb using mongoimport, please see following example.


Without authentication

mongoimport --db <DBNAME> --collection <COLLECTION_NAME> --type csv --headerline --file  /path/to/Import.csv

--db : here we have to give database name.
--collection: here we have to give Collection name.
--type: file type like csv, json etc.
--file: Path of file will be import into mongodb.
--headerline: It means first row is field name.

With authentication

mongoimport –<host_ip> --port 27012 --username <user> --password <pass> --collection <collection_name>--db <db_name>--file <file path>

Example: Suppose we have a csv file which contains data of Employee like NAME, ADDRESS, PHONE etc. And we have to import data in mongodb.

Run the following command

>mongoimport --db TEST1 --collection myCol --type csv --headerline --file  D:/MDB/Import.csv



We can export mongodb data in csv using mongoexport.


mongoexport --db <users> --collection <Collection_Name> --type=csv --fieldFile fields.txt --out /opt/backups/contacts.csv

Example: Now above imported data going to export using following command.

{ "_id" : ObjectId("57834347fbe91e1b53e67dca"), "NAME" : "Dilip", "ADDRESS" : "Delhi", "PHONE" : NumberLong(9018878876) }
{ "_id" : ObjectId("57834348fbe91e1b53e67dcb"), "NAME" : "Vipul", "ADDRESS" : "Ghazibad", "PHONE" : NumberLong(4444499870) }
{ "_id" : ObjectId("57834348fbe91e1b53e67dcc"), "NAME" : "Swati", "ADDRESS" : "Noda", "PHONE" : NumberLong(8998009986) }

We can export the above data into csv file to run the following command.

mongoexport --db TEST1 --collection myCol --csv --fields NAME,ADDRESS,PHONE --out D:/MDB/Export.csv


Exported csv data

Popular posts from this blog

Remove special character from string in MongoDB

Problem: Suppose wehave a collection and one field is type string contains some special character (like !@#$%) and we don’t want these special character.
Solution: We can easily remove the special character from field using script “replace(/[^a-zA-Z 0-9 ]/g, '')” in our query.  How can we remove special character from string using this script please see following example.
Example: Suppose we have a collection “EduSurvey “where we are collecting information from institutions.

{Name:"JB institute”, About:"This is good one collage for MBA", Information:"This $%%institute ##has good faculty etc$$"}
{Name:"MK institute”, About:"This is good one collage for MCA", Information:"This$$%# is the dummy text12"}
{Name:"MG institute”, About:"This is good one collage for B,Tech", Information:"This# institute@ has&* good infrastructure"}

Did you notice Information fields contains some special character so we…

Add day to ISODate in MongoDB

We can use $add operator to add days in ISODate in mongodb, $add is the Arithmetic Aggregation Operator which adds number and date in mongodb.

{ $add: [ <expression1>, <expression2>, ... ] }

Note:  If one of the argument is date $add operator treats to other arguments as milliseconds to add to the date.
Example: Suppose we have a Test collection as below.

{"Title" : "Add day to ISODate in MongoBD","CreatedDate" : ISODate("2016-07-07T08:00:00.000Z")}

Query to add 2 days in CreatedDate

db.Test.aggregate([      { $project: { Title: 1, AddedDate: { $add: [ "$CreatedDate", 2*24*60*60000 ] } } }    ])


{ "_id" : ObjectId("579a1567ac1b3f3732483de0"), "Title" : "Add day to ISODate in MongoBD", "AddedDate" : ISODate("2016-07-09T08:00:00.000Z") }

Note: As mentioned in above note we have to convert days in millisecond because $add operator treat to other arg…