(1)mongoexport/mongoimport #导入/导出的是JSON格式或者CSV格式
(2)mongodump/mongorestore #导入/导出的是BSON格式
(1)JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性。
(2)在一些mongodb版本之间,BSON格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间的兼容性。当无法使用BSON进行跨版本的数据迁移的时候,使用JSON格式即mongoexport/mongoimport是一个可选项。跨版本的mongodump/mongorestore个人并不推荐,实在要做请先检查文档看两个版本是否兼容(大部分时候是的)。
(3)JSON虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息。使用时应该注意。
mongoexport/mongoimport: json csv
mongodump/mongorestore:日常备份恢复使用
Mongodb中的mongoexport工具可以把一个collection导出成JSON格式(默认)或CSV格式的文件。
可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。适合如下场景:
$ mongoexport --help #参数说明: -h:指明数据库宿主机的IP -u:指明数据库的用户名 -p:指明数据库的密码 -d:指明数据库的名字 -c:指明collection的名字 -f:指明要导出那些列 -o:指明到要导出的文件名 -q:指明导出数据的过滤条件 --authenticationDatabase admin:验证库
创建测试数据:
[mongod@mongo ~]$ mongo -u root -p root123 10.0.0.21/admin > show dbs admin 0.000GB config 0.000GB local 0.000GB > use oldboy switched to db oldboy > for(i=0;i<10000;i++){db.log.insert({"uid":i,"name":"mongodb","age":6,"date":new Date()})} WriteResult({ "nInserted" : 1 }) > db.log.find() { "_id" : ObjectId("5d9809219455703947fc9855"), "uid" : 0, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.040Z") } { "_id" : ObjectId("5d9809219455703947fc9856"), "uid" : 1, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.052Z") } { "_id" : ObjectId("5d9809219455703947fc9857"), "uid" : 2, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.053Z") } { "_id" : ObjectId("5d9809219455703947fc9858"), "uid" : 3, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.053Z") } { "_id" : ObjectId("5d9809219455703947fc9859"), "uid" : 4, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.054Z") } { "_id" : ObjectId("5d9809219455703947fc985a"), "uid" : 5, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.054Z") } { "_id" : ObjectId("5d9809219455703947fc985b"), "uid" : 6, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.055Z") } { "_id" : ObjectId("5d9809219455703947fc985c"), "uid" : 7, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.055Z") } { "_id" : ObjectId("5d9809219455703947fc985d"), "uid" : 8, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.056Z") } { "_id" : ObjectId("5d9809219455703947fc985e"), "uid" : 9, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.056Z") } { "_id" : ObjectId("5d9809219455703947fc985f"), "uid" : 10, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.057Z") } { "_id" : ObjectId("5d9809219455703947fc9860"), "uid" : 11, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.058Z") } { "_id" : ObjectId("5d9809219455703947fc9861"), "uid" : 12, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.059Z") } { "_id" : ObjectId("5d9809219455703947fc9862"), "uid" : 13, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.059Z") } { "_id" : ObjectId("5d9809219455703947fc9863"), "uid" : 14, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.059Z") } { "_id" : ObjectId("5d9809219455703947fc9864"), "uid" : 15, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.060Z") } { "_id" : ObjectId("5d9809219455703947fc9865"), "uid" : 16, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.060Z") } { "_id" : ObjectId("5d9809219455703947fc9866"), "uid" : 17, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.060Z") } { "_id" : ObjectId("5d9809219455703947fc9867"), "uid" : 18, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.061Z") } { "_id" : ObjectId("5d9809219455703947fc9868"), "uid" : 19, "name" : "mongodb", "age" : 6, "date" : ISODate("2019-10-05T03:08:17.061Z") } Type "it" for more >
1)单表备份至json格式
原文:https://www.cnblogs.com/hujinzhong/p/11624095.html