mongodb用戶創建、mongoose數據庫連接

一、用戶創建

1、創建超級管理員
a.首先開啓Mongo服務,然後切換admin數據庫

use admin;

b.創建

db.createUser({user:"root",pwd:"ceshi123",roles:[{role:"root",db:"admin"}]});

c.修改mongodb.conf配置文件
添加代碼:

auth=true

如果有以下代碼,可修改

noauth=true // 修改爲auth=true

保存mongodb.conf文件

d.創建超級管理員之後,重新啓動mongodb服務

use admin;
db.shutdownServer(); //關閉服務
exit;

下一步要進入到mongodb安裝目錄下的bin
如果是windows系統,可以直接去mongodb/bin目錄下打開命令shell,具體操作方法:按住shift+鼠標左鍵可快速打開shell,輸入啓動命令:

./mongod -f /usr/local/mongodb/conf/mongodb.conf
./mongod

如果是linux服務器,可以直接到mongodb/bin目錄下

cd /usr/local/mongodb/bin  // 小編mongodb的安裝目錄是/usr/local
./mongod -f /usr/local/mongodb/conf/mongodb.conf
./mongod

經過以上操作,現在創建了操作mongodb的超級管理員;
下邊我們針對我們要使用的數據庫進行創建管理員

2、創建指定數據庫管理員
a.進入到指定數據庫,這裏採用testDB

mongo //啓動mongodb
use admin;
db.auth("root","ceshi123");

如果shell出現1則爲進入mongodb成功,爲0進入失敗。
進入成功後,執行以下:

use testDB;
db.createUser({user:"admin",pwd:"test123",roles:[{role:"root",db:"admin"}]}); // 這裏role的權限一定是root,否則node-express-mongoose會讀不到數據

創建後可以查看:

show users;

如果輸出以上輸入信息,則添加成功。
下面我們來看下 mongodb 一共有哪些權限:

1. 數據庫用戶角色:read、readWrite;  
2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin;       
3. 集羣管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢復角色:backup、restore;
5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級用戶角色:root  
// 這裏還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 內部角色:__system

read:允許用戶讀取指定數據庫
readWrite:允許用戶讀寫指定數據庫
dbAdmin:允許用戶在指定數據庫中執行管理函數,如索引創建、刪除,查看統計或訪問system.profile
userAdmin:允許用戶向system.users集合寫入,可以找指定數據庫裏創建、刪除和管理用戶
clusterAdmin:只在admin數據庫中可用,賦予用戶所有分片和複製集相關函數的管理權限。
readAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀權限
readWriteAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的讀寫權限
userAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的userAdmin權限
dbAdminAnyDatabase:只在admin數據庫中可用,賦予用戶所有數據庫的dbAdmin權限。
root:只在admin數據庫中可用。超級賬號,超級權限

二、mongoose連接

const config = {
    DB_URL: 'mongodb://admin:[email protected]:27017/testDB'
};
mongoose.connect(config.DB_URL);

解釋說明:
'mongodb://admin:[email protected]:27017/testDB'
// admin 管理員用戶名
// test123 管理員密碼
// testDB 要連接的數據庫

參考鏈接:
1、https://blog.csdn.net/zgrbsbf...
2、https://blog.csdn.net/szu_lzz...
3、https://blog.csdn.net/leihui_...
4、https://www.cnblogs.com/leino...
5、http://yijiebuyi.com/blog/f9e...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章