1.mongo --port 端口号 先进Mongodb
2.db.auth('帐号','密码'); 进行权限验证,才能继续往下执行。
3.对于用户的其他操作可以看这篇https://jingyan.baidu.com/article/dca1fa6f0428a4f1a440522e.html
4.关于报权限校验失败的13跟18 Code
我的理解是 13是登录的时候校验失败就报 18是登录进去在执行某命令时,跟用户角色不符合就报。
所以,当报13时,可以用db.auth这个方法去检查你项目里配置的帐号密码是不是能登录的。
当报18时,就要用show users;去看你登录的这个用户的角色跟对应权限
{
"_id" : "XXXXX",
"user" : "帐号",
"db" : "帐号所在的db",
"roles" : [
{
"role" : "角色",
"db" : "角色对应的db"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
刚才在排查18的时候,因为对Mongodb不熟,所以在设置用户角色权限时, roles里面的db值一直填的是admin,因为我这个角色设置的是readWrite,所以roles里面的db值这里填的是应该是具体的库
当我修改过来后,重新连就成功了。