[轉] Node.js使用MongoDB3.4+Access control is not enabled for the database解決方案


今天使用MongoDB時遇到了一些問題

建立數據庫連接時出現了warnings

出現這個警告的原因是新版本的MongDB為了讓我們創建一個安全的數據庫 
必須要進行驗證 
后來在外網找到了答案

解決方案如下:

創建管理員

use admin db.createUser( { user: "userAdmin", //用戶名 pwd: "123", //密碼 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] //權限 } )

 

重啟MongoDB服務器

mongod --auth --port 27017 --dbpath <關聯路徑>

 

(端口默認就是27017可以不指定) 

終端最后輸出"[initandlisten] waiting for connections on port 27017"
啟動完成

連接並認證

mongo --port 27017 -u "userAdmin" -p "123" --authenticationDatabase "admin"

 

添加額外權限用戶

use test db.createUser( { user: "tester", pwd: "123", roles: [ { role: "readWrite", db: "test" }, { role: "read", db: "reporting" } ] } )

 

mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"

 


MongoDB更新了,使用mongoose也不能簡單的建立連接了 
必須要添加必要參數

var mongoose = require('mongoose'); var db = mongoose.createConnection('localhost', 'test', 27017, {user: 'tester', pass: '123'});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM