今天使用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'});