zoukankan      html  css  js  c++  java
  • linux下mongo数据导出导入

    因业务架构调整,需对mongo中数据进行迁移,因数据量较大,可视化界面打不开,所以系统命令操作

    导出

    mongoexport -h 127.0.0.1 --authenticationDatabase=admin -u admin -p admin== -c dev_device_data -d iot -o devState -q'{"identifier":"PhV_phsA","deviceId":{"$in":[]},"occurredTime":{"$gte":{"$date":"2021-08-08T00:00:00.000Z"}},"occurredTime":{"$lte":{"$date":"2021-08-10T00:00:00.000Z"}}}'   --type=json 

    关键参数说明:

    • -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})。

    注意:

      当查询时同时使用sort,skip,limit,无论位置先后,最先执行顺序 sort再skip再limit。

    导入

    mongoimport --port 27017 -u admin -p admin -d admin -c dev_device_data  --type=json --file /root/devData

    关键参数说明:

    • h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
    • --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
    • -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
    • -p,--password:代表连接数据库的账号对应的密码;
    • -d,--db:代表连接的数据库;
    • -c,--collection:代表连接数据库中的集合;
    • -f, --fields:代表导入集合中的字段;
    • --type:代表导入的文件类型,包括csv和json,tsv文件,默认json格式;
    • --file:导入的文件名称
    • --headerline:导入csv文件时,指明第一行是列名,不需要导入;
    • --numInsertionWorkers 100  说是可以多线程操作,实测没有多大效果
    • --upsert 有则更新,没有则insert
  • 相关阅读:
    Android 捕获异常并在应用崩溃后重启应用
    Android 浏览器 —— 使用 WebView 实现文件下载
    给 Android 研发的一些的建议
    java.util.concurrent.RejectedExecutionException
    java的关闭钩子(Shutdown Hook)
    PGP工作原理及其安全体制
    漫画:什么是红黑树?
    LINUX下IDEA等工具调试项目时提示:Unable to open debugger port
    MongoDB aggregate 运用篇(转)
    Java8系列之重新认识HashMap
  • 原文地址:https://www.cnblogs.com/innocenter/p/15235280.html
Copyright © 2011-2022 走看看