Node.js プログラミング

【 Node.js 】SequelizeとNode.jsを使用してデータを取得する方法

Node.jsのSequelizeは、JavaScriptでよく使われるORM(Object-Relational Mapping)ライブラリです。Sequelizeを利用することで、データベースとのやり取りを簡単に行うことができます。
本記事ではSequelizeのデータ取得に関連する主要なメソッドについて説明します。

findByPk

findByPkメソッドは、主キー(プライマリーキー)に基づいて1つのレコードを取得します。

const user = await User.findByPk(1);

上記の例では、Userモデルから主キーが1のユーザーを取得しています。

findOne

findOneメソッドは、指定した条件に一致する最初の1つのレコードを取得します。

const user = await User.findOne({
  where: { age: 25 }
});

上記の例では、Userモデルからageが25歳の最初のユーザーを取得しています。

findAll

findAllメソッドは、指定した条件に一致するすべてのレコードを取得します。

const users = await User.findAll({
  where: { age: 30 }
});

上記の例では、Userモデルからageが30歳のすべてのユーザーを取得しています。

findOrCreate

findOrCreateメソッドは、指定した条件に一致するレコードを取得し、存在しない場合は新しく作成します。

const [user, created] = await User.findOrCreate({
  where: { name: 'Alice' },
  defaults: { age: 20 } // 新規作成時のデフォルト値
});

上記の例では、Userモデルからnameが"Alice"のユーザーを取得し、もし存在しない場合は新しいユーザーを作成しています。

findAndCountAll

findAndCountAllメソッドは、指定した条件に一致するすべてのレコードを取得し、合致したレコードの総数も取得します。

const result = await User.findAndCountAll({
  where: { age: 25 }
});

上記の例では、Userモデルからageが25歳のすべてのユーザーを取得し、合致したレコードの総数も取得しています。

count

countメソッドは、指定した条件に一致するレコードの数を取得します。

const count = await User.count({
  where: { age: 30 }
});

上記の例では、Userモデルからageが30歳のユーザーの数を取得しています。

max

maxメソッドは、指定したカラムの最大値を取得します。

const maxAge = await User.max('age');

上記の例では、Userモデルのageカラムの最大値を取得しています。

min

minメソッドは、指定したカラムの最小値を取得します。

const minAge = await User.min('age');

上記の例では、Userモデルのageカラムの最小値を取得しています。

sum

sumメソッドは、指定したカラムの値の合計を取得します。

const totalAge = await User.sum('age');

上記の例では、Userモデルのageカラムの値の合計を取得しています。

おすすめ記事はコチラ

スマレジ テックファーム 1

スマレジ テックファーム で Webエンジニアとして勤めている tomoです。 今回は株式会社スマレジや私が所属している 「 スマレジ テックファーム 」についてPRしていきたいと思います。 スマレジ ...

2

FromBody 属性を使用して、 ASP.NET Core(.NET 6)のWebAPIでBodyパラメータのJSONを受け取る方法を解説します。 FromBody 属性 POSTやGETで呼び出さ ...

PC picture 3

ASP.NET Core(.NET 6)でCookie認証のタイムアウトを設定する方法を解説します。 Cookieの有効期限について Cookieには通常はタイムアウト(有効期限)を設定します。 基本 ...

4

ASP.NET Core(.NET 6)でクロスオリジンリクエスト ( CORS )を設定する方法を解説します。 簡単に クロスオリジンリクエスト ( CORS )とは何かについても少し解説したいと思 ...

-Node.js, プログラミング
-, ,