2016-08-02 6 views
2

Promised-Mongoを使用して、MongoDBとNodeJSバックエンドコードからの約束を接続しています。私はMongoDBのクライアントアクセス制御を有効にするまでうまくいきました。私はこのコードを実行すると、私はメッセージ " "認証できませんでした" GET:約束マンゴで「認証できませんでした」

var pmongo = require('promised-mongo').compatible(); 
var db = pmongo('myusername:[email protected]/mydb', ['candidates']); 
db.candidates.save(req.body) 
    .then(function() { 
     // never reached here 
    }) 
    .catch(function (e) { 
     // it reached here, where e.message says "could not authenticate" 
    }); 

ピュアMongoDBのコード(すなわち無約束を...)正常に動作します:

var mongodb = require('mongodb'); 
var uri = 'mongodb://myusername:[email protected]/mydb'; 
mongodb.MongoClient.connect(uri, function (err, db) { 
    if (err) { 
     // never reached here 
    } 
    var candidates = db.collection('candidates'); 
    candidates.insert(req.body, function(err, result) { 
     if (err) { 
     // never reached here 
     } 
     res.send('{result: success}'); 
    }); 
}); 

任意のアイデア

+0

今すぐ接続して後でコレクションを心配してください var db = pmongo( 'mydb'); docsから..これが役立つことを願って –

+0

は既にそれを試しました、うまくいきませんでした... – krishnamurti

+0

Am..fromあなたはどこにe.messageが "認証できませんでした"と言うメッセージを...これは問題です。 mongodbの資格情報を確認してください。あなたはすべてのアクセス権を持っていますか?また、mongoシェルを使用して同じ資格情報で接続しようとします。 –

答えて

0

githubリポジトリのいくつかの問題(herehereを参照)は、このライブラリを認証に使用しているように見えますが、2番目のリンクでは、ほとんどの人がpromisify、bluebirdなどの公式ライブラリを約束しているようです。または薄いカスタムラッパー。

関連する問題