导出/导入单个集合

第一步,找到mongodb安装目录

第二步,从命令行进入mongodb安装目录下的bin目录

第三步(1),导出数据命令(导出的文件有两种格式:json/csv,此处导出的是json文件,对于导出CSV文件是需要额外指定一个变量 -field ‘对于的字段名称’):

mongoexport -h 数据库所在主机地址 --port 数据库的端口 -u 数据库的账号 -p 数据库的账号对应的密码 --authenticationDatabase 认证数据库 -d 要导出的数据库名称 -c 集合名称 -o 输出多的json文件路径

实际示例:

mongoexport -h 127.0.0.1 --port 27016 -d admin -u username -p password --authenticationDatabase admin -c xxx -o xxxx.json

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

mongoimport -h 数据库所在主机地址 --port 数据库的端口 -d 要导入的数据库名字 -u 数据库的账号 -p 数据库的账号对应的密码 --authenticationDatabase 认证数据库 -c 集合名称 --file json文件路径

实际示例:

mongoimport --d xxx_name --collection mycolle --file d:/Database/temp/mycolle.json

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

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

导出/导入所有集合

导出所有集合

mongodump -h host -d dbname -o directory(默认会追加dbname的文件夹) [ --port port -u username -p password --authenticationDatabase admin ]

实际实例:

mongodump -h 127.0.0.1 -d test -o C:\Users\zhang\Desktop\mongodb

导入所有集合

mongorestore -h dbhost -d dbname -directoryperdb dbdirectory [ --port port -u username -p password --authenticationDatabase admin ]

命令的解释

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

mongodb导出一段时间内的数据

(>) 大于 - $gt

(<) 小于 - $lt

(>=) 大于等于 - $gte

(<= ) 小于等于 - $lte

new Date(“2019-01-09”).getTime()

db.eq_car_data.find({“stime”:{$gte:一串数字}}).count( )
能查到数据
注意(stime视情况而定)

./mongodump --host 127.0.0.1 --port 27030 -d qxxx -uxxx -pxxx -c eq_car_data -q '{stime:{$gte:一串数字}}' -o 2019.dump