2016-11-12 4 views
0

私はちょうどjavascriptを始めたJavaプログラマーです。NodeJSでのデータベースコードの構造

私はmlabsでmongoデータベースを作成しましたが、今はデータベースに接続するコードを記述しています。

ノードでデータベースコードがどのように構造化されていますか?非ブロッキングの方法でデータベースに接続する方法はありますか?

+0

この投稿が参考になりました。[http://stackoverflow.com/questions/22160709/non-blocking-mongodb-nodejs](http://stackoverflow.com/questions/22160709/non-blocking- mongodb-nodejs) – illcrx

+0

http://mongodb.github.io/node-mongodb-native/2.2/のドライバのマニュアルはよく読まれています。コールバックまたはES6の約束(Nodeでネイティブにサポートされている)のいずれかを使用してコードを構成することができます。 – traktor53

答えて

0

Mongodb's official driverはコールバックで非同期的にdbに接続します。 READMEから

var MongoClient = require('mongodb').MongoClient 
    , assert = require('assert'); 

// Connection URL 
var url = 'mongodb://localhost:27017/myproject'; 
// Use connect method to connect to the Server 
MongoClient.connect(url, function(err, db) { 
    assert.equal(null, err); 
    console.log("Connected correctly to server"); 

    db.close(); 
}); 

は(あなたが検索の結果を送信したいと言う)JSON形式の応答として、あなたがなります

  • は、DBを接続します。
  • connectコールバック内で、find()コールバック内でdb.collection.find()
  • を呼び出し、結果をレスポンス送信ハンドラに渡します。 (エクスプレスget()内のresオブジェクト)。

したがって、パターンは次のとおりです。コールバックをネストして、応答オブジェクト/ MVCコントローラ/同様の呼び出しを終了します。

+0

データベース操作を行うたびにMongoClient.connectを書く必要がありますか? –

+0

接続を開いたままにしたい場合は、connectコールバックのdbオブジェクトを別の場所で使用できます。 –

+0

db.close()でクローズするまで利用可能です。 –

関連する問題