MongoBD查询数据的时候有一个报错
not authorized for query
最后发现是用户权限的问题
内置角色:
检查当前用户
use admin;
db.auth('root', '123456')
db.getUsers();
[
{
"_id" : "admin.root",
"userId" : UUID("d3703a16-3066-43de-8ed2-07aed8608281"),
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
]
发现他的权限只是"role" : "userAdminAnyDatabase"
userAdminAnyDatabase:有分配角色和用户的权限,但没有查写的权限,不能用作备份。
所以,需要新增一个用户,赋予数据查询修改的权限
db.createUser({user:"admin",pwd:"123456",roles:[{role:"root",db:"admin"}]})
或者增加原有账号的权限