var conn = mongoose.connect('mongodb://username:password@127.0.0.1:27017/test?authMechanism=MONGODB-CR');
#報(bào)錯(cuò) >MongoError: server 127.0.0.1:27017 timed out
#嘗試用命令行連接 >mongo -u username -p password 127.0.0.1:27017 MongoDB shell version: 2.4.9 connecting to: 127.0.0.1:27017/test Error while trying to show server startup warnings: not authorized on admin to execute command { getLog: "startupWarnings" }
連接成功了,而且執(zhí)行讀寫操作也沒問題,那會(huì)不會(huì)是mongoose的問題呢? #接下來用mongoDB驅(qū)動(dòng)測(cè)試下
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://username:password@127.0.0.1:27017/test?authMechanism=MONGODB-CR'; MongoClient.connect(url, function(err, db) { console.log(err ? err : 'mongoDB連接成功!'); });
> node mongoDB.js mongoDB連接成功!
既然mongoose是基于mongoDB驅(qū)動(dòng)的,應(yīng)該不大會(huì)出現(xiàn)這種情況。那會(huì)不會(huì)是mongoose無法識(shí)別url參數(shù)呢.接下來去掉'?authMechanism=MONGODB-CR'這段字符串 MongoError: server 127.0.0.1:27017 timed out 果然是mongoose無法識(shí)別這段參數(shù),接下來翻文檔 [mongoose文檔]http://mongoosejs.com/docs/api.html Ctrl+F 粘貼authMechanism沒找到,直接點(diǎn)擊connection.js在里面找到這一行 auth - options for authentication (see http://mongodb.github.com/node-mongodb-native/api-generated/db.html#authenticate) 點(diǎn)擊進(jìn)去就找到我們想要的了。
修改代碼,以O(shè)bject的方式配置options!
const options = { user : "username", pass : "password", auth : {authMechanism: 'MONGODB-CR'} } var conn = mongoose.connect('mongodb://@127.0.0.1:27017/test',options);
重新運(yùn)行 node app.js [2016-08-22 15:21:39.709] [INFO] console - app listen to 3000, NODE_ENV: development 完美?。?! 坑嘛, 踩踩更健康, 特別對(duì)于我們這些新手來說。
網(wǎng)頁(yè)題目:關(guān)于mongoose認(rèn)證踩的坑【url參數(shù)無法識(shí)別】-創(chuàng)新互聯(lián)
URL分享:http://aaarwkj.com/article20/pidjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷推廣、軟件開發(fā)、網(wǎng)站排名、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容