一、命令行参数

-h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
--port:代表远程连接的数据库的端口,默认连接的远程端口27017;
-u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
-p,--password:代表连接数据库的账号对应的密码;
-d,--db:代表连接的数据库;
-c,--collection:代表连接数据库中的集合;
-f, --fields:代表集合中的字段,可以根据设置选择导出的字段;
--type:代表导出输出的文件类型,包括csv和json文件;
-o, --out:代表导出的文件名;
-q, --query:代表查询条件;
--skip:跳过指定数量的数据;
--limit:读取指定数量的数据记录;
--sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。


二、mongo导入或者导出数据

  • 第一步,找到mongodb安装目录
  • 第二步,从命令行进入mongodb安装目录下的bin目录
  • 第三步(1),导出数据命令(导出的文件有两种格式:json/csv,此处导出的是json文件,对于导出CSV文件是需要额外指定一个变量 -field ‘对于的字段名称’):
  • mongoexport -h 数据库所在主机地址(若是本地则为127.0.0.1,若是远程则写为远程地址IP)-d 要导出的数据库名称 -c 集合名称 -o 输出多的json文件路径
  • 导出csv文件示例 :mongoexport -h 主机地址 -d 数据库名称 -c 集合名称 --csv --field 字段列表 -o
    输出地址

实际示例:mongoexport -h 127.0.0.1 -d test_new -c mycolle -o D:\Database\temp\mycolle.json

  • 第三步(2),导入数据命令(此处本人使用的是json格式的文件):

mongoimport --db 数据库名称 --collection 集合名称(关系型数据库中的表名) --file
json文件具体路径(例如: D:\Company\test\test.json)

实际示例 : mongoimport --db xxx_name --collection mycolle --file d:/Database/temp/mycolle.json

补: 在导入数据时 --collection 对应的集合名称必须与 --file路径下的集合名称相一致,否则会出现如下错误,这是个容易被忽略的坑

           error validating settings: incompatible options: --file and positional argument(s)

参考资料

三、mongo一个collection导入到同mongo上另外一个database

use sourcedatabase;
var docs=db.sourcetable.find();
use targetdatabase;
docs.forEach(function(doc) { db.targettable.insert(doc); });

参考资料:
https://www.codenong.com/11554762/

四、mongo导入导出csv文件

  • 导入命令,利用mongodb自带的mongoimport。
    参数示例:-d local -c local --type=csv --headerline --file dd.csv

-d是数据库,-c是集合名称,–type声明格式为csv,–headerline是表示忽略首行(因为首行是key),–file后面加上要导入数据的csv文件名。

参考资料:

五、mongodump及mongorestore

相比mongoimport及mongoexport,mongodump及mongorestore可以直接复制及恢复整个database,而且会把原来创建的索引也都复制过来。

https://www.runoob.com/mongodb/mongodb-mongodump-mongorestore.html