0
1

非同期処理でMongoDBに接続Expressサーバーを起動

Posted at

非同期処理でMongoDBに接続し、Expressサーバーを起動する方法
以下に、非同期処理を用いてMongoDBに接続し、Expressサーバーを起動するコードの例を示します。

データベース接続関数
まず、connectDB.jsファイルを作成し、MongoDBに接続する関数を定義します。


// connectDB.js
const mongoose = require('mongoose');

const connectDB = async (url) => {
  try {
    await mongoose.connect(url, {
      useNewUrlParser: true,
      useUnifiedTopology: true,
    });
    console.log('DB接続成功');
  } catch (error) {
    console.error('DB接続エラー:', error);
  }
};

module.exports = connectDB;

サーバー起動のためのコード
次に、app.jsファイルを作成し、データベース接続後にExpressサーバーを起動するコードを記述します。

// app.js
const express = require('express');
const connectDB = require('./connectDB'); // データベース接続関数をインポート

const app = express();
const port = 8000;

// データベース接続URL
const dbUrl = 'ライフガード';

const startServer = async () => {
  try {
    // データベースに接続
    await connectDB(dbUrl);
    // サーバーを起動
    app.listen(port, () => {
      console.log(`サーバーがポート${port}で起動しました`);
    });
  } catch (error) {
    console.error('サーバー起動エラー:', error);
  }
};

// サーバー起動関数を呼び出す
startServer();

非同期関数の定義:

asyncキーワードを使って非同期関数startServerを定義

データベース接続:

awaitキーワードを使って、非同期関数connectDBの完了を待ちます。
connectDB関数はMongoDBに接続し、接続成功または失敗のメッセージをコンソールに出力します。

サーバーの起動:

データベース接続が成功した後で、Expressサーバーを指定したポートで起動します。
サーバーが正常に起動すると、"サーバーがポート8000で起動しました"というメッセージがコンソールに表示されます。

エラーハンドリング:

try-catchブロックを使って、データベース接続やサーバー起動時のエラーをキャッチし、コンソールにエラーメッセージを表示します。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1