robo3t-listcollections failed unauthorized

看这里



使用robo3t连接mongo时报错了,无法listCollections。

mongo配置文件如下:
dbpath=E:\mongodb-enterprise-4.2.2/data #数据库路径
maxConns=1000000
pidfilepath=E:\mongodb-enterprise-4.2.2/data/mongod.pid
quiet=true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port=27017 #端口号 默认为27017
logpath=E:\mongodb-enterprise-4.2.2/logs/mongod.log #日志输出文件路径
#bind_ip_all=true
bind_ip_all=true
logappend=true #错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
logRotate=rename
timeStampFormat=iso8601-utc
journal=true #启用日志文件,默认启用
#noauth=true
auth=true
directoryperdb=true
syncdelay=120

避免麻烦,data下也没什么数据,直接删除了data目录下的所有文件,然后重新创建用户:
use admin
db.createUser({user:'root',pwd:'admin',roles:['root']})
db.auth('root','admin')

附:添加用户时各个角色对应权限
1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root

然后重新使用robo3t重新连接mongo即可。