数据备份
MongoDB 提供了mongodump
用于数据备份, mongodump
的原理是多MongoDB进行普通查询.然后写入文件
mongodump -d test -o /home/bak
mongodump
可以使用-q条件增加查询条件,-c 指定collection
mongodump -d test -c user -q "{name:'xxx'}" -o /home/bak
更多参数可参照 mongodump --help
数据恢复
mongorestore
一般与mongodump
搭配使用,用于恢复数据库
mongorestore -d test /home/bak/test --drop
使用的是/home/bak/test目录下的BSON或者JSON文件恢复数据库.–drop表述如果存在test库则删除原数据库.
数据导出
MongoDB还提供了一种针对集合的备份方式:使用mongoexport
命令.
导出JSON文件
mongoexport -d test -c user -o /home/bak/user.json
同样也可以使用-q参数增加查询条件.
mongoexport -d test -c user -q "{name:'xxx'}" -o /home/bak/user.json
导出CSV文件
mongoexport -d test -c user --csv -f id,name,age -o /home/bak/user.csv
-f指定导出的字段
数据导入
mongoimport
与mongoexport
配合使用
导入JSON文件
mongoimport -d test -c user /home/bak/user.json --upsert
–upsert表示更新现有数据,如果不使用–upsert则导入重复的文档会报_id重复,数据也不再插入.
导入CSV文件
mongoimport -d test -c user --type csv --headerline --file /home/bak/user.json --upsert
–headerline指明不导入第一行.CSV第一行为列名