Node.js は、JavaScript を使用してサーバー側コードを作成できる軽量の JavaScript ランタイム環境で、非同期 I/O およびイベント駆動型モデルをサポートしており、拡張性の高いネットワーク アプリケーションの構築に非常に適しています。 Web アプリケーションを開発する場合、ユーザー情報のクエリや注文履歴の取得など、データベースと対話することが必要になることがよくあります。この記事では、Node.js でデータベースにクエリを実行してデータを返す方法を紹介します。
データベースの選択
データベースのクエリを開始する前に、使用するデータベースを選択する必要があります。 Node.js は、MongoDB、MySQL、PostgreSQL などの多くの一般的なデータベースをサポートしています。各データベースには長所と短所があるため、プロジェクトのニーズに基づいて適切なデータベースを選択する必要があります。この記事では、MySQL データベースを使用します。
MySQL のインストール
MySQL データベースを使用する前に、まず MySQL をインストールする必要があります。 Ubuntu では、次のコマンドを使用できます。
sudo apt-get update sudo apt-get install mysql-server
Windows では、MySQL 公式 Web サイトからインストーラーをダウンロードし、プロンプトに従ってインストールできます。
MySQL データベースへの接続
Node.js では、npm パッケージ mysql を使用して MySQL データベースと対話できます。このライブラリを使用するには、まずインストールする必要があります。次のコマンドを使用できます。
npm install mysql
MySQL データベースに接続するには、データベースへのすべての接続を管理する接続プールを作成する必要があります。以下は、MySQL データベースに接続するためのサンプル コードです:
const mysql = require('mysql'); const pool = mysql.createPool({ connectionLimit: 10, host: 'localhost', user: 'username', password: 'password', database: 'database_name' }); pool.getConnection((err, connection) => { if (err) throw err; console.log('Connected to MySQL'); })
この例では、mysql.createPool メソッドを使用して接続プールを作成し、最大接続数、ホスト名、ユーザー名などのいくつかのオプションを渡します。 、パスワードと接続するデータベース名。次に、pool.getConnection メソッドを使用して、接続プールから接続を取得します。成功すると、「MySQL に接続しました」というメッセージが表示されます。
データベースのクエリ
MySQL データベースに接続した後、接続オブジェクトを使用してデータベースにクエリを実行できます。以下は、MySQL データベース内のすべてのユーザーをクエリするサンプル コードです。
const mysql = require('mysql'); const pool = mysql.createPool({ connectionLimit: 10, host: 'localhost', user: 'username', password: 'password', database: 'database_name' }); pool.getConnection((err, connection) => { if (err) throw err; connection.query('SELECT * FROM users', (err, rows) => { if (err) throw err; console.log(rows); connection.release(); }); });
この例では、connection.query メソッドを使用して、MySQL データベース内のすべてのユーザーをクエリします。このメソッドは、SQL クエリを含む文字列とコールバック関数の 2 つのパラメータを受け入れます。クエリが成功した場合、コールバック関数の 2 番目のパラメータは、すべてのクエリ結果を含む配列になります。この例では、結果をコンソールに出力し、connection.release メソッドを使用してデータベース接続を解放します。
クエリ結果はさらに処理できます。たとえば、Array.map メソッドを使用して、結果をオブジェクトの配列に変換できます。
rows = rows.map(row => { return { id: row.id, name: row.name, email: row.email }; });
この例では、Array.map メソッドを使用して、結果内の各行オブジェクトをオブジェクトに変換します。 ID、名前、電子を含むメールプロパティのオブジェクト。
結果を制限する
場合によっては、上位 10 件の結果のみを返すなど、クエリ結果を制限する必要がある場合があります。 MySQL では、LIMIT 句を使用して結果を制限できます。結果を制限する方法を示すサンプル コードを次に示します。
connection.query('SELECT * FROM users LIMIT 10', (err, rows) => { if (err) throw err; console.log(rows); connection.release(); });
この例では、LIMIT 句を使用して結果を最初の 10 行のみに制限します。
結果のフィルタリング
場合によっては、特定の条件に基づいてクエリ結果をフィルタリングすることが必要になる場合があります。 MySQL では、WHERE 句を使用して結果をフィルタリングできます。 WHERE 句を使用して結果をフィルタリングする方法を示すサンプル コードを次に示します。
connection.query('SELECT * FROM users WHERE age > 18', (err, rows) => { if (err) throw err; console.log(rows); connection.release(); });
この例では、WHERE 句を使用して結果をフィルタリングし、18 歳以上のユーザーのみを含めます。
概要
この記事では、MySQL データベースにクエリを実行し、Node.js で結果を返す方法を紹介しました。まず、MySQL データベースに接続し、クエリを実行し、コールバック関数を使用して結果を処理します。また、結果を制限およびフィルターし、結果をさらに処理する方法についても説明しました。この記事が Node.js でデータベースをクエリするのに役立つことを願っています。
以上がnodejsクエリデータベースの戻り値の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。