MongoDB------数据(.dat)到数据库的操作(包含本地操作 和 与远程服务器操作(^U^)ノ~YO)

window下数据库操作

进入mongodb/bin目录

D:\mongdb\bin

以上是我的安装目录,你需要找到你自己的安装位置并进入bin目录。

然后cmd进入该目录,如图:
在这里插入图片描述

找到.dat数据位置

例如,我想把 areas.dat 数据导入到仓库,复制该路径。

D:\mt-stack\dbs\areas.dat

cmd执行命令

 导入命令:D:\mongdb\bin>mongoimport -d demo -c areas D:\mt-stack\dbs\areas.dat
 导出命令:D:\mongdb\bin>mongoimport -d demo -c areas -o D:\mt-stack\dbs\areas.dat

linux下导入导出数据库

  • 如果是采用压缩包的形式下载的,执行方式和window方法相同;
  • 如果是采用yum等命令直接下载的可执行下面命令即可:
导入命令:mongoimport -d student -c demo D:\mt-stack\dbs\areas.dat
导出命令:mongoexport -d student -c demo -o D:\mt-stack\dbs\areas.dat

mongoimport:导入命令
demo:数据库名称
areas:Collections下的子数据库
D:\mt-stack\dbs\areas.dat:数据文件完整位置
注意:一定要在mongodb安装目录的bin目录下执行命令




本地和远程服务器的数据库的操作

  • 如果是采用压缩包的形式下载的,要进入mongodb中的bin目录下运行这些命令;
  • 如果是linux采用yum等命令直接下载的可执行下面命令即可:
  • 如果你在window下配置了环境变量的话,也可以直接运行下面的命令的

mongoexport导出用法

本地和远程服务器导出操作

mongoexport --host 127.0.0.1 --port 27017 -d appdb -c T_TEST_DATA -u appuser -p appuser@2016 -o export/T_TEST_DATA.json

举例:本地导出

//按分页导出
mongoexport -d test -c records --sort '{a: 1}' --limit 100 --skip 100 --out export/1.json

//按查询条件导出
mongoexport -d test -c records -q '{ a: { $gte: 3 } }' --out exportdir/myRecords.json

—— 127.0.0.1 ip地址(本地 或 服务器)
—— 27017 mongodb数据库的端口,默认值27017
—— appdb 数据库名称
—— T_TEST_DATA collections下的表的名称
—— appuser 如果设置登录名和密码,登录名
—— appuser@2016 如果设置登录名和密码,登录名
—— export/T_TEST_DATA.json 指定文件路径,可自定义

参数名 参数值
host[h] 主机
port 端口
db[d] 目标数据库
username[u] 用户名
password[p] 密码
authenticationDatabase 鉴权数据库,不指定则使用database参数
collection[c] 目标Collection
query[q] 查询过滤条件,不指定则导出全表
out[o] 目标输出文件
type 格式类型,默认json
skip skip条件
limit limit条件
sort sort条件

mongoimport用法

本地和远程服务器 导入操作

mongoimport 支持将json或csv格式的数据文件导入到mongodb数据库,该命令与mongoexport结合使用。

mongoimport --host 127.0.0.1 --port 27017 -d appdb -c T_TEST_DATA_1 -u appuser -p appuser@2016 --numInsertionWorkers 50 --file export/T_TEST_DATA.json

参数说明

参数名 参数值
host[h] 主机
port 端口
db[d] 目标数据库
username[u] 用户名
password[p] 密码
authenticationDatabase 鉴权数据库,不指定则使用database参数
collection[c] 目标Collection,不指定则采用文件名称
drop 指定该选项,则导入前删除表
file 目标导入文件
type 格式类型,默认json
mode 导入模式,有insert、upsert、merge,默认insert
numInsertionWorkers 并发数

导入模式
upsert模式,会将已有数据替换;
merge模式,会将已有数据进行合并;

执行效率
使用insert的性能最高,建议使用;
在多核的环境中,通过numInsertionWorkers可指定并发运行,可提升一定效率。

参考数据

文件大小2.9G 采用 --mode=insert 用时3分钟15秒

使用mongoexport 导出860W的数据记录,文件大小2.9G,共耗时10分钟
使用mongoimport 导入860W的数据记录,使用--mode=insert模式,用时3分钟15秒(numInsertionWorkers=50)
使用mongoimport 导入860W的数据记录,使用--mode=insert模式,用时5分钟(numInsertionWorkers=1)
使用mongoimport 导入860W的数据记录,使用--mode=upsert模式,用时45分钟(numInsertionWorkers=1)
使用mongodump 导出为40s,而mongorestore为4分钟。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章