MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例

 更新时间:2018年10月22日 09:54:48   转载 作者:李学凯  
今天小编就为大家分享一篇关于MongoDB使用mongoexport和mongoimport命令,批量导出和导入JSON数据到同一张表的实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

需求是这样的:需要修改数据库中某个表的所有数据,所以,要全部导出,然后修改,修改完之后,再把修改后的数据给再导入到mongo去。

具体如下:

备份,导出一张表为json文件

具体命令:

mongoexport --host localhost --port 27017 --username ezsonaruser --password 123456 --collection host_locations --db ezsonar_25 --out /root/host_locations.json

解释:

  • --host 后的 localhost:要导出数据库 ip
  • --port 后的 27017:要导出的实例节点端口号
  • --username 后的 ezsonaruser:数据库用户名
  • --password 后的 123456:数据库用户密码
  • --collection 后的 widgets-test:要导出的表名
  • --db 后的 ezsonar_25:要导出的表所在数据库名
  • --out 后的 /root/host_locations.json:要导出的文件路径(默认为当前文件夹)

导出来后的文件,打开的样子是酱紫的。

然后,你就可以在编辑器里面修改啦。修改完之后,再保存。保存之后就可以再导入到数据库啦。

导入,批量插入json数据到一张表去

具体命令:

mongoimport --host localhost --port 27017 --username ezsonaruser --password 123456 --collection host_locations_test --db ezsonar_25 --file /root/shaql/host_locations.json

解释:

  • -- host 后的 localhost:要导入的数据库 ip
  • --port 后的 27017:要导入的实例节点端口号
  • --username 后的 ezsonaruser:数据库用户名
  • --password 后的 123456:数据库用户密码
  • --collection 后的 host_locations_test:要导入的表名
  • --db 后的 ezsonar_25:要导入的表所在数据库名
  • --file 后的 /root/shaql/host_locations.json:要导入的源文件路径(默认为当前文件夹)

需要注意的地方:

1,不需要进入mongo命令行之后,就可以直接使用上面的2个导入导出命令。

2,导入导出的json文件,你不要随意换行,导出来的就是一行一条数据,你就原封不动的给修改完直接保存,不要换行。不要使用txt这么low的编辑器啦,换个高级点的编辑器吧。

最后,附上这个命令的help说明图

mongoimport 导入的help信息展示如下

mongoexport 导出的help信息展示如下

另:

  • -f, --fields:代表集合中的字段,可以根据设置选择导出的字段;
  • --type:代表导出输出的文件类型,包括csv和json文件;
  •  --skip:跳过指定数量的数据;
  • --limit:读取指定数量的数据记录;
  • --sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。
#导出类型为json,数据库:mapdb,集合:bike 字段:bikeId,lat,lng,current_time,source ,条件为source字段为ofo第一条数据
mongoexport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike -f bikeId,lat,lng,current_time,source --type=json -o bike.csv --query='{"source":"ofo"}' --limit=1
#导出类型为csv,数据库:mapdb,集合:bike 字段:bikeId,lat,lng,current_time,source ,条件为source字段为ofo第一条数据
mongoexport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike -f bikeId,lat,lng,current_time,source --type=csv -o bike.csv --query='{"source":"ofo"}' --limit=1

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • MongoDB中的参数限制与阀值详析

    MongoDB中的参数限制与阀值详析

    这篇文章主要给大家介绍了关于MongoDB中参数限制与阀值的相关资料,文中通过示例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-03-03
  • MongoDB整库备份与还原以及单个collection备份、恢复方法

    MongoDB整库备份与还原以及单个collection备份、恢复方法

    mongodb数据库维护离不开必要的备份、恢复操作,而且一般不会出错,所以我们在使用的时候大部分时候使用备份和恢复操作就可以了
    2013-08-08
  • MongoDB分片集群部署详解

    MongoDB分片集群部署详解

    这篇文章主要介绍了MongoDB分片集群部署详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • mac下安装和配置mongodb的步骤详解

    mac下安装和配置mongodb的步骤详解

    大家都知道MongoDB是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便。那么下面这篇文章就来给大家介绍了关于在mac系统下安装和配置mongodb的方法步骤,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • MongoDB中的bson介绍和使用实例

    MongoDB中的bson介绍和使用实例

    这篇文章主要介绍了MongoDB中的bson介绍和使用实例,本文讲解了什么是bson、bson在MongoDB中的使用、几个BSON的例子等内容,需要的朋友可以参考下
    2015-05-05
  • Mongodb增加、移除Shard Server实例

    Mongodb增加、移除Shard Server实例

    这篇文章主要介绍了Mongodb增加、移除Shard Server实例,shard服务器(Shard Server).Shard服务器是存储实际数据的分片,每个Shard可以是一个mongod实例,也可以是一组mongod实例构成的Replica Sets,需要的朋友可以参考下
    2015-01-01
  • python实现爬虫数据存到 MongoDB

    python实现爬虫数据存到 MongoDB

    本文给大家分享的是使用python实现将爬虫爬到的数据存储到mongoDB数据库中的实例代码,有需要的小伙伴可以参考下
    2016-09-09
  • MongoDB 数据库的命名、设计规范详解

    MongoDB 数据库的命名、设计规范详解

    随着MongoDB的普及和使用量的快速增长,为了规范使用,便于管理和获取更高的性能,整理此文档
    2020-02-02
  • 教大家8天学通MongoDB——第一天 基础入门篇

    教大家8天学通MongoDB——第一天 基础入门篇

    MongoDB是目前非常流行的一种非关系型数据库(NoSQL),因其操作简单、完全免费、源码公开等特点,受到了IT从业人员的青睐,并被广泛部署于实际的生产环境中。本文教大家8天学通MongoDB——第一天 基础入门篇,感兴趣的朋友一起来了解了解吧
    2015-09-09
  • MongoDB特点与体系结构等简介

    MongoDB特点与体系结构等简介

    今天小编就为大家分享一篇关于MongoDB特点与体系结构等简介,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01

最新评论