一、全库备份恢复


#mongodump -d my_mongodb -o my_mongodb_dump


#mongorestore -d my_mongodb my_mongodb_dump/*




二、JSON Collection备份恢复


$ mongoexport -d test -c book -o book.json  

connected to: 10.77.20.xx  

exported 2 records  


$ mongoimport -d test -c book book.json  

connected to: 10.77.20.xx  

imported 2 objects  




三、CSV Collection数据导出导入


# more students.txt

{ "classid" : 1, "age" : 20, "name" : "kobe" }  

{ "classid" : 1, "age" : 23, "name" : "nash" }  

{ "classid" : 2, "age" : 18, "name" : "james" }  

{ "classid" : 2, "age" : 19, "name" : "wade" }  

{ "classid" : 2, "age" : 19, "name" : "bosh" }  

{ "classid" : 2, "age" : 25, "name" : "allen" }  

{ "classid" : 1, "age" : 19, "name" : "howard" }  

{ "classid" : 1, "age" : 22, "name" : "paul" }  

{ "classid" : 2, "age" : 24, "name" : "shane" }

#


1.导入数据


# mongoimport -d test -c students students.txt

connected to: 127.0.0.1

Tue Apr 22 16:02:32 imported 9 objects




> db.students.find()db.students.find()

{ "_id" : ObjectId("53562218bc98e02b24984175"), "classid" : 1, "age" : 20, "name" : "kobe" }

{ "_id" : ObjectId("53562218bc98e02b24984176"), "classid" : 1, "age" : 23, "name" : "nash" }

{ "_id" : ObjectId("53562218bc98e02b24984177"), "classid" : 2, "age" : 18, "name" : "james" }

{ "_id" : ObjectId("53562218bc98e02b24984178"), "classid" : 2, "age" : 19, "name" : "wade" }

{ "_id" : ObjectId("53562218bc98e02b24984179"), "classid" : 2, "age" : 19, "name" : "bosh" }

{ "_id" : ObjectId("53562218bc98e02b2498417a"), "classid" : 2, "age" : 25, "name" : "allen" }

{ "_id" : ObjectId("53562218bc98e02b2498417b"), "classid" : 1, "age" : 19, "name" : "howard" }

{ "_id" : ObjectId("53562218bc98e02b2498417c"), "classid" : 1, "age" : 22, "name" : "paul" }

{ "_id" : ObjectId("53562218bc98e02b2498417d"), "classid" : 2, "age" : 24, "name" : "shane" }

>


2.导出CSV


# mongoexport -d test -c students --csv -f classid,name,age -o students_csv.dat

connected to: 127.0.0.1

exported 9 records

#

导出只有数据,不包括_id

参数说明:

-h:指明数据库宿主机的IP

-u:指明数据库的用户名

-p:指明数据库的密码

-d:指明数据库的名字

-c:指明collection的名字

-f:指明要导入那些列



[root@jsmartserv hbk]# more students_csv.dat

classid,name,age

1,"kobe",20

1,"nash",23

2,"james",18

2,"wade",19

2,"bosh",19

2,"allen",25

1,"howard",19

1,"paul",22

2,"shane",24

[root@jsmartserv hbk]#


3.删除数据


db.students.remove()



4.导入CSV


# mongoimport -d test -c students --type csv --headerline --file students_csv.dat

connected to: 127.0.0.1

Tue Apr 22 16:07:57 imported 9 objects



参数说明:

-type:指明要导入的文件格式

-headerline:指明第一行是列名,不需要导入

-file:指明要导入的文件


5.验证

db.students.find()db.students.find()

{ "_id" : ObjectId("5356235dbc98e02b2498417e"), "classid" : 1, "name" : "kobe", "age" : 20 }

{ "_id" : ObjectId("5356235dbc98e02b2498417f"), "classid" : 1, "name" : "nash", "age" : 23 }

{ "_id" : ObjectId("5356235dbc98e02b24984180"), "classid" : 2, "name" : "james", "age" : 18 }

{ "_id" : ObjectId("5356235dbc98e02b24984181"), "classid" : 2, "name" : "wade", "age" : 19 }

{ "_id" : ObjectId("5356235dbc98e02b24984182"), "classid" : 2, "name" : "bosh", "age" : 19 }

{ "_id" : ObjectId("5356235dbc98e02b24984183"), "classid" : 2, "name" : "allen", "age" : 25 }

{ "_id" : ObjectId("5356235dbc98e02b24984184"), "classid" : 1, "name" : "howard", "age" : 19 }

{ "_id" : ObjectId("5356235dbc98e02b24984185"), "classid" : 1, "name" : "paul", "age" : 22 }

{ "_id" : ObjectId("5356235dbc98e02b24984186"), "classid" : 2, "name" : "shane", "age" : 24 }

>


查询students集合,验证导入是否成功: