2016-05-04 14 views
0

サーバー側でmongoデータベースにログインして問題を解決しようとしています。私はHerokuで走っているので、私はユーザーとしてログインしていないかもしれないと思う。私はこのnode login repoから始めましたが、英雄に取り組むにはいくつかの変更がありました。私はと思う作り、私はポストの代わりに200 OKの400応答でHerokuのログで作られた参照ユーザを登録しようとするとNode.jsの変数としてのMongoDB

var MongoDB  = require('mongodb').Db; 
var Server  = require('mongodb').Server;  
var db = new MongoDB(dbName, new Server(dbHost, dbPort, {auto_reconnect: true}), {w: 1}); 

:私はそうのような変数としてログインしようデータベースにアクセスできない。 dbName、dbHost、dbPortをmongolabの値に設定しましたが、どこにユーザーアカウントにログインするかわかりません。私は、私はそれは私が変数に欠けているものだと思わせるのユーザ名とパスワードを追加する前に働いていませんでしたURI

new MongoStore({ url: 'mongodb://username:[email protected]:port/database' }) 

を使用してセッションを作成しました。どうすればdb変数にユーザー名とパスワードを追加できますか?

+0

にパラメータとして認証URLを供給することができます。ファイルにクレジットカードが必要ですが、無償で無料プランを選択することができます。これは、特定のホステッドデータベースに接続する必要がありますか? –

+0

私はmLab yeahを使用しており、その2番目のコードスニペットでセッションに接続しています。彼らは[Rubyとここに接続する](https://devcenter.heroku.com/articles/mongolab#mongodb-ruby-driver)を示していますが、これをjsと複製する方法がわかりません – Tri42

答えて

0

あなたは「MongoDBの」ライブラリーのMongoClientオブジェクトを利用し、コネクト機能Herokuのは、簡単に作成し、アプリケーションからのMongoDBに接続するために、MLABのサポートが組み込まれています

var MongoClient = require('mongodb').MongoClient; 
var url = 'mongodb://username:[email protected]:port/database'; 
MongoClient.connect(url, function(err, db) { 
assert.equal(null, err); 
console.log("Connected correctly to server."); 
}); 
+0

コレクションvar accounts = db.collection( 'accounts');だから私は 'MongoClient'と一緒にそこに 'db'を切り替えることができるだろうか? – Tri42

+0

あなたは 'MongoClient'を使用して別のデータベースに切り替えることができますここでは既に質問されている[link](http://stackoverflow.com/questions/21476134/mongodb-express-how-to-switch-database-after-connecting -via-connect) – Saubar

+0

それは本当に別のデータベースにアクセスしていません。基本的に私はコレクションにアクセスしようとしていますが、[このような](https://github.com/braitsch/node-login/blob/master/app/server/modules/account-manager.js#L15)のような関数をエクスポートしようとしていますノードの古いドライバになる。新しいドライバでこれを行う正しい方法があるかどうかの例はありますか?私はこれまで何も見つけることができませんでした。 – Tri42

関連する問題