先說原因
MongoDB中每個(gè)數(shù)據(jù)庫之間是相互獨(dú)立的,都有獨(dú)立的權(quán)限,正確的做法是使用root賬號(hào)在【將要操作的數(shù)據(jù)庫】中創(chuàng)建一個(gè)【子賬號(hào)】,在用這個(gè)子賬號(hào)連接mongo:
https://blog.csdn.net/qq_35893120/article/details/100142232/
db.createUser詳解
語法:
db.createUser(user, writeConcern)
user這個(gè)文檔創(chuàng)建關(guān)于用戶的身份認(rèn)證和訪問信息;
writeConcern這個(gè)文檔描述保證MongoDB提供寫操作的成功報(bào)告。
· user文檔,定義了用戶的以下形式:
{ user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
}
user文檔字段介紹:
user字段,為新用戶的名字;
pwd字段,用戶的密碼;
cusomData字段,為任意內(nèi)容,例如可以為用戶全名介紹;
roles字段,指定用戶的角色,可以用一個(gè)空數(shù)組給新用戶設(shè)定空角色;
在roles字段,可以指定內(nèi)置角色和用戶定義的角色。
Built-In Roles(內(nèi)置角色):
1. 數(shù)據(jù)庫用戶角色:read、readWrite;
2. 數(shù)據(jù)庫管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復(fù)角色:backup、restore;
5. 所有數(shù)據(jù)庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級(jí)用戶角色:root
// 這里還有幾個(gè)角色間接或直接提供了系統(tǒng)超級(jí)用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內(nèi)部角色:__system
PS:關(guān)于每個(gè)角色所擁有的操作權(quán)限可以點(diǎn)擊上面的內(nèi)置角色鏈接查看詳情。