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

总结

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

(0)

相关推荐

  • python读取json文件并将数据插入到mongodb的方法

    本文实例讲述了python读取json文件并将数据插入到mongodb的方法.分享给大家供大家参考.具体实现方法如下: #coding=utf-8 import sunburnt import urllib from pymongo import Connection from bson.objectid import ObjectId import logging from datetime import datetime import json from time import mktime

  • Python实现批量读取图片并存入mongodb数据库的方法示例

    本文实例讲述了Python实现批量读取图片并存入mongodb数据库的方法.分享给大家供大家参考,具体如下: 我的图片放在E:\image\中,然后使用python将图片读取然后,显示一张,存入取一张(可以注释掉显示图片的语句),通过Gridfs的方式存入图片.代码如下: # --* coding=utf-8 *-- from cStringIO import StringIO from pymongo import MongoClient import gridfs import os imp

  • MongoDB导出查询结果到文件例子

    dump.js 复制代码 代码如下: var c = db.user.find({nick_name:{$exists:true,$ne:''}}).limit(100); while(c.hasNext()) {     printjson(c.next()); } mongo 192.168.2.201:41211/dc_user dump.js > feed.json dc_user库的user表的指定数据会以json形式保存在feed.json中. 注意:printjson输出的是格式化

  • MongoDB备份、还原、导出、导入、克隆操作示例

    数据库备份 – mongodump 备份本地所有MongoDB数据库: 复制代码 代码如下: # mongodump -h 127.0.0.1 --port 27017 -o /root/db/alldb 备份远程指定数据库: 复制代码 代码如下: # mongodump -h 192.168.1.233 --port 27018 -d yourdb -o /root/db/yourdb 更多mongodump详解 数据库还原-mongorestore 恢复所有数据库到MongoDB中: 复制代

  • 深入分析Mongodb数据的导入导出

    一.Mongodb导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根据指定的条件导出数据. mongoexport具体用法 [root@localhost mongodb]# ./bin/mongoexport --help Export MongoDB data to CSV, TSV or JSON files. options: --help produce

  • mongodb 数据库操作--备份 还原 导出 导入

    一,mongodump备份数据库 1,常用命令格 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户谁,可以去掉-u和-p. 如果导出本机的数据库,可以去掉-h. 如果是默认端口,可以去掉--port. 如果想导出所有数据库,可以去掉-d. 2,导出所有数据库 [root@localhost mongodb]# mongodump -h 127.0.0.1 -o /home/zhangy/mongodb/ connecte

  • MongoDB单表数据的导出和恢复实例讲解

    MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便. MongoDB 工作在收集和文件的概念. 数据库 数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集合 集合是一组MongoDB的文档.它相当于一个RDBMS表.收集存在于一个单一的数据库.集合不执行模式.集合内的文档可以有不同的领域.通常情况下,一个集合中的所有文件是相同或相关的目的. 文档 文档是一组键 - 值对.文件动态模式.动态模式

  • MongoDB执行mongoexport时的异常及分析(数字类型的查询)

    概述 mongoexport命令行用于数据的导出,默认导出的文件格式为JSON格式.当然也可以指定特定的文件格式. 语法 C:\mongo\bin>mongoexport -help options:   --help                  produce help message   -v [ --verbose ]        be more verbose (include multiple times for more                           v

  • 利用Mongoose让JSON数据直接插入或更新到MongoDB

    前言 Nodejs基于Javascript,MongoDB脚步同样也是基于Javascript.而且他们的数据存储格式都是JSON,这就是为什么要把他们放在一起的原因了.如果程序前后端能直接处理JSON,我想数据处理过程又可以极大的减化了,代码量又将低少1/5.多么的兴奋啊!让我们来动手验证一下想法吧. 本文重点介绍web前端通过JQuery发起POST提交JSON数据,通过Mongoose直接插入或更新到MongoDB. 工程目录沿用nodejs-demo,增加/mongoose路径及对应文件

  • Mongodb批量删除gridfs文件实例

    平台有大量的图片已经不用了,数量级达到百万张,差不多100G的空间,放着不管是不是太浪费了? 复制代码 代码如下: db.fs.files.find({filename:/xxx/}).forEach(function(n) {db.fs.files.update({filename:u.filename},{$set:{filename:newname}},false,true)}} //正则批量更改为固定名称,便于删除. mongofiles -port 12345 -d xxx delet

  • MongoDB批量将时间戳转为通用日期格式示例代码

    前言 时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间.本文将详细介绍MongoDB批量将时间戳转为通用日期格式的相关内容,下面话不多说了,来一起看看详细的介绍吧 1,官网提供的MONGODB遍历脚本: 官方文档地址:https://docs.mongodb.org/manual/tutorial/remove-documents/ >var arr = ["ab","cd","ef"] >var show =

  • JSON 的正确用法探讨:Pyhong、MongoDB、JavaScript与Ajax

    关于本文 本文主要总结网站编写以来在传递 JSON 数据方面遇到的一些问题以及目前采用的解决方案.网站数据库采用 MongoDB,后端是 Python,前端采用"半分离"形式的 Riot.js,所谓半分离,是说第一页数据是通过服务器端的模板引擎直接渲染到 HTML 中,从而避免首页两次加载的问题,而其它动态内容则采用 Ajax 加载.整个流程中数据都是通过 JSON 格式传递的,但是在不同的环节中需要采用不同的方式并遇到一些不同的问题,本文主要做记录.总结. 1. What is JS

随机推荐