0
1

Mongooseを使ってみよう:MongoDBとのデータ操作を簡単に!

Mongooseは、Node.js環境でMongoDBを扱うためのオブジェクトデータモデリング(ODM)ライブラリです。Mongooseを使用することで、スキーマを定義してデータをバリデート、クエリ、保存、削除することが簡単にできます。本記事では、Mongooseの基本的な使い方を紹介します。

【公式ドキュメント】

インストール

まず、Mongooseをプロジェクトにインストールする必要があります。以下のコマンドを使用してインストールします。

npm install mongoose

基本的な使い方

1. MongoDBへの接続

Mongooseを使用する前に、MongoDBデータベースに接続する必要があります。以下は、Mongooseを使用してMongoDBに接続する基本的なコードです。

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost:27017/mydatabase', {
  useNewUrlParser: true,
  useUnifiedTopology: true
}).then(() => {
  console.log('MongoDBに接続されました');
}).catch(error => {
  console.error('MongoDB接続エラー:', error);
});

2. スキーマとモデルの定義

Mongooseでは、スキーマを定義してモデルを作成します。以下は、ユーザースキーマの例です。

const { Schema, model } = mongoose;

const userSchema = new Schema({
  userName: { type: String, required: true },
  userAge: { type: Number, required: true },
  userEmail: { type: String, required: true, unique: true }
});

const UserModel = model('User', userSchema);

3. データの作成

定義したモデルを使用してデータを作成することができます。以下は、ユーザーを新規作成する例です。

const newUser = new UserModel({
  userName: '太郎',
  userAge: 30,
  userEmail: 'taro@example.com'
});

newUser.save()
  .then(createdUser => {
    console.log('ユーザーが作成されました:', createdUser);
  })
  .catch(error => {
    console.error('ユーザー作成エラー:', error);
  });

4. データの取得

モデルを使用してデータをクエリすることもできます。以下は、すべてのユーザーを取得する例です。

UserModel.find()
  .then(allUsers => {
    console.log('ユーザー一覧:', allUsers);
  })
  .catch(error => {
    console.error('データ取得エラー:', error);
  });

5. データの更新

既存のデータを更新することも可能です。以下は、ユーザーの年齢を更新する例です。

UserModel.updateOne({ userEmail: 'taro@example.com' }, { userAge: 31 })
  .then(updateResult => {
    console.log('ユーザーの更新結果:', updateResult);
  })
  .catch(error => {
    console.error('データ更新エラー:', error);
  });

6. データの削除

最後に、データを削除する方法を紹介します。以下は、特定のユーザーを削除する例です。

UserModel.deleteOne({ userEmail: 'taro@example.com' })
  .then(deleteResult => {
    console.log('ユーザーの削除結果:', deleteResult);
  })
  .catch(error => {
    console.error('データ削除エラー:', error);
  });

まとめ

Mongooseは、MongoDBを扱うための強力で使いやすいライブラリです。スキーマを定義し、簡単にデータを操作することができます。

【参考】

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