MongoDBへの接続
CoddyのNode.jsジャーニー「MongoDBによるデータベース」セクションの一部。レッスン 3/29。
プログラムはクライアントオブジェクトを通じてMongoDBに接続します。MongoClientをインポートし、接続先アドレスを指定してクライアントを作成します。以下のアドレスは、同じコンピューター上のMongoDBを指します:localhost。27017は、そのデータベースサービスが接続を待ち受けるポート番号です。
const client = new MongoClient('mongodb://localhost:27017');
const db = client.db('shop');
const orders = db.collection('orders');最初の行ではクライアントを設定し、次の2行ではデータベースとコレクションを選択します。これらの行はレコードを読み込みません。Coddyでは、Runのたびにリセットされる練習用データベースによって接続が提供されます。通常のMongoDBのデプロイでは、アプリケーションを再起動してもデータが保持されます。
リクエスト間で再利用できるように、クライアントはモジュールレベルで作成します。実際のドライバーでは、リクエスト関数の中でクライアントを作成すると、リクエストごとに新しい接続プールが作成されます。
チャレンジ
簡単connection.jsを編集します。プレースホルダーを、mongodb://localhost:27017を使うクライアント、shelfデータベース、およびそのbooksコレクションに置き換えます。
これらの値はselectBooks()の外側で作成します。その関数が選択したコレクションを返すようにして、すべてのリクエストで再利用できるようにします。用意されているルートがコレクションを読み取ります。「実行」を試してください。GET /resultでDune、Kindred、Emmaが一覧表示されるはずです。挿入やルートのコードは必要ありません。
用意されているGET /reuseルートは、呼び出しを繰り返して同じコレクションハンドルが返されると、{"same":true}を返します。
自分で試してみよう
import { MongoClient } from 'mongodb';
// クライアントを作成し、データベースを選択して、このプレースホルダーを置き換えてください。
const books = null;
export function selectBooks() {
return books;
}
MongoDBによるデータベースのすべてのレッスン
自分で練習してみよう: Expressプレイグラウンド