mogodb怎么用robomongo导出数据

mogodb怎么用robomongo导出数据,第1张

1、启动Mongodb数据库。在自己电脑的E盘、D盘根目录模拟出两个Mongodb的数据库,分别代表旧库和新库。由于Mongodb的部署非常简单,数据文件分别在E:\mongodb\data\db(使用27017端口)和D:\mongodb\data\db(使用27117端口)下。具体如图。

2、连接新库查看其数据情况。通过Mongodb自带的客户端robomongo-1.0.0-rc1-windows-x86_64-496f5c2.zip,解压后找到Robomongo.exe,右击以管理员运行。左图所示界面,要求选择要连接的数据库。

3、连接旧库查看数据情况。同样通过客户端,连接旧库。如下图所示,旧数据库里面含有5条文档数据。下面我们就将旧库中的5条数据通过命令导出。

4、从旧库导出数据。分别导出files.chunks(保存有文档数据,二进制格式) 和files.files (保存有文件信息),对于文档类数据两个需要分别导出。

5、导入数据到新库。同理,上一步导出的文件,要分别导入。

6、连接新库,查看数据情况。同样通过客户端,连接新库。如下图所示,我们发现5条文档数据已经导入进来。

本篇文章简单介绍如何将文本数据使用shell脚本导入MongoDB。

过程如下:

${str//'!^'/','} 字符替换,将 !^ 替换为 ,

< 表示从一个文件读内容;

> 表示将内容写进一个文件,如果该文件不存在,会自动新建该文件,因此该 *** 作会覆盖文件之前内容;

>> 同 > ,追加模式,但是该 *** 作不会覆盖之前文件内容。

该脚本使用awk将数据转为json格式,尝试使用 -F '!^' 做为分割符时,数据处理出现丢失,错误的现象,使用 -F ',' 时,数据无误。

本次处理的文本数据分割符为特殊分割符 !^ ,因此将分隔符替换为 , 。

-vq=' " ' 设置一个变量 q = " 。

function··· 为数据处理过程,格式化为json。

EOF 之间可以执行mongo的任意 *** 作命令。

此处删除了集合名为 ${txt_name} 的集合(无论该集合是否存在,该 *** 作不会影响脚本执行)。

mongoimport 将文件数据导入MongoDB,文件可以为 json csv 格式,此处使用的是json文件。

rm -rf file 强制删除文件 file

rm shell 删除文件(夹)的命令

-rf 该参数表示不询问,强制删除,重要文件删除,不推荐使用该参数。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6460024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-22
下一篇 2023-03-22

发表评论

登录后才能评论

评论列表(0条)

保存