錯誤提示:
2018-07-06T10:25:37.656+0800 E QUERY [thread1] Error: listCollections failed: {
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listCollections: 1.0, filter: {}, $db: \"admin\" }",
"code" : 13,
"codeName" : "Unauthorized"
} :
這是權限的問題:
角色授權分兩種,一種是直接在當前庫中創(chuàng)建用戶并授予相關權限溉旋。如admin庫中創(chuàng)建admin用戶。另一種情況是
將在admin中創(chuàng)建的用戶授予操作其他庫的權限,相關授權命令如下:
授予角色:
db.grantRolesToUser("userName", [ { role:"<role>", db: "<database>"} ])
取消角色:
db.grantRolesToUser("userName", [ { role:"<role>", db:"<database>"} ])
下面我們在admin庫中執(zhí)行以下命令:
db.grantRolesToUser("admin", [ { role:"dbOwner", db:"test"} ]) ;
##admin 指的是用戶名 test 指的要授權的數據庫