14.Mongodb之导出(mongoexport)、导入(mongoimport)

官网如下:有必要把出现的几个命令行工具都研究一下。

 mongoexport — MongoDB Database Tools

关于mongoexport和mongoimport这篇文章大致介绍了下怎么用。

mongodb之索引_mijichui2153的博客-CSDN博客

访问权限:

注意执行的时候如果出现类似于下面的报错就说明,就要考虑用户名密码是否有访问这个db的权限这回事了。could not connect to server: connection() error occured during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed.

验证方式也很简单,如果你想要访问db_imsdk_roaming这个db,执行show users;

添加用户指令如下:

use db_name1
db.createUser({user: "mongouser", pwd: "qq@mongo", roles: [{ role: "dbOwner", db: "db_shuozhuo" }]})

mongodb数据库工具

一、mongodump:

在mongodb中使用mongodump命令来备份mongodb数据;该命令可以导出所有数据到指定目录中。(数据的备份)

二、mongorestore:

mongodb使用mongorestore命令来恢复备份的数据。(数据的恢复)

三、bsondump:

bsondump将BSON文件转换为human-readable格式,包括JSON。例如,bsondump对于读取mongodump生成的输出文件非常有用。

四、mongoimport:

从外部JSON、CSV等文件中导入数据到mongodb的工具。

如果有类似下面的提示,说明要createUser了。

2021-11-26T20:22:33.230+0800    error connecting to host: could not connect to server: connection() error occured during connection handshake: auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-1": (AuthenticationFailed) Authentication failed.

#查看目标db用户情况
show users;

#进行相应的添加操作
db.createUser({user: "mongouser111", pwd: "alibaba@mongo", roles: [{ role: "dbOwner", db: "db_xxxx_track" }]})

(1)普通导入

./mongoimport --host 11.xxx.xxx.55:27017 -u mongouser111 -p alibaba@mongo -d db_event_track -c collection_event_track_0 --type=json --file track_0.json

五、mongoexport:

将mongodb实例中的数据导出JSON或CSV格式数据。通过命令行运行不是mongo shell运行。

(1)通过 --help参数可以看到其使用帮助,如下列举常用的几个功能

常用字段如下:

--host(或者-h):指定链接数据库的ip:port
-u:用户名
-p:密码
-d:db名称
-c:集合名称
-o:指定输出文件名,或者指定pretty格式之类的
-f:指定输出字段,而不是每个文档的所有字段都输出
-q:指定查询语句,相当于筛选输出

(2)普通导出——导出集合中的每个字段

./mongoexport --host 11.xxx.6.180:27017 -u mongouser1 -p ailibaba@mongo -d db_imsdk_roaming -c coll_1 -o coll_1.json

(3)指定输出字段

./mongoexport --host 11.xxx.x.180:27017 -u mongouser1 -p alibaba@mongo -d db_imsdk_roaming -c coll_1 -f "send_uin,recv_uin,appid,seq" -o coll_1.json

(4)指定输出字段,并指定过滤条件

./mongoexport --host 11.xxx.x.180:27017 -u mongouser1 -p alibaba@mongo -d db_imsdk_roaming -c coll_1 -f "send_uin,recv_uin,appid,seq" -q '{"time":{"$gt":1637396640000000}}' -o coll_11.json

注:关于过滤条件-q,有点坑;总的来讲字段名称都应该用双引号括起来。

(5)指定pretty输出

./mongoexport --host 11.xxx.x.180:27017 -u mongouser1 -p alibaba@mongo -d db_imsdk_roaming -c coll_1 -f "appid,seq" --pretty -o ol_coll_1.txt

下图分别为pretty输出和普通输出:

 

六、mongostat:

mongostat实用程序提供当前运行的mongod或mongos实例的状态的快速概览。mongostat在功能上类似于UNIX/Linux文件系统实用程序vmstat,但提供了有关mongod和mongos实例的数据。

注:貌似只能连接mongod,连接分片集群的mongos是查看不到的。

七、mongotop:

mongotop提供了一种方法来跟踪MongoDB实例mongod读写数据的时间。mongotop提供了每个集合级别的统计信息。默认情况下,mongotop每秒返回一次值。

八、mongofiles:

0.概述。用来指定gridfs的命令行工具。

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焱齿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值