app.js
ファイルに正常に接続しているmongodb上のコレクションを照会しようとすると、エラーが発生します。nodejsとMonkとのMongodb認証
/* users.js*/
router.post('/login', function(req, res, next) {
var params = req.body;
var userid = params.userid;
var pw = params.password
var db = req.db;
var userdb = db.get('users');
userdb.findOne({'userid' : userid}, function(e,user) {
if (e) {
console.log("error reading user doc ->");
console.log(e);
return;
} else {
....
}
});
});
私がコレクションを照会した後、次のエラーを取得:
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('mongodb://USERNAME:[email protected]:27017/test_db');
var app = express();
// Make our db accessible to our router
app.use(function(req,res,next){
req.db = db;
next();
});
それは私のルータファイルに、次に接続し、
{ [MongoError: auth failed] name: 'MongoError', ok: 0, errmsg: 'auth failed', code: 18 }
フォーマットの修道士(URL、{ユーザー名、パスワード})も機能していませんでした。問題は、オブジェクトを渡す必要があるときに特殊文字を許可するためのパスワードをURIエンコードすることでした。{uri_decode_auth:true} – dancook808