MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
以下是在MongoDB上如何进行数据的导入与导出的功能介绍
一.导入与导出可以操作本地的mongodb也可以是远程的mongodb,通用选项:
-h host 主机 --port port 端口 -u username 用户名 -p password 密码
如果mongodb没有账户密码并且是从本地导可以忽略上面四个参数
二.导出:
使用mongodb/bin/mongoexport文件:
cd /usr/local/mongodb ./bin/mongoexport -d shop -c order -f name,content -q '{_id:{$lte:100}}' -o order.json -d 库名 -c 表名 -f field1,field2...要导出的字段 -q 查询条件 -o 导出的文件名
默认导出的数据格式为json格式,如果为了便于和传统数据库交换数据想导出csv格式需要指定文件类型–csv,上面的导出命令可以修改为:
./bin/mongoexport -d shop -c order -f name,content -q '{_id:{$lte:100}}' --csv -o order.csv
三.导入:
./bin/mongoimport -d shop -c good --type json --file ./order.json -d 导入的数据库 -c 导入的表(不存在自动创建) --type csv | json(默认json) --file 文件路径
注意:当导入的文件格式为csv时,需要增加一个–headerline,使用第一行作为字段名称:
./bin/mongoimport -d shop -c good --type csv --headerline --file ./order.csv
四.二进制导出
mongodump 导出二进制bson结构的数据及json结构的索引信息
./bin/mongodump -d shop -c order -d 库名 -c 表名(不指定表默认导出全部表) -q 查询表达式 -o 文件路径名(默认导出到mongodb/dump目录下)
导出之后在mongodb/dump/databaseName/目录下有一个.bson文件和一个.json文件
[root@sx45a8 mongodb]# cd dump [root@sx45a8 dump]# ls shop [root@sx45a8 dump]# cd shop [root@sx45a8 shop]# ls order.bson order.metadata.json
五.二进制导入
./bin/mongorestore -d test --dir dump/shop/ -d 导入的库名 --dir 文件目录
二进制备份不仅可以备份数据还可以备份索引,而且备份比较小