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を扱うための強力で使いやすいライブラリです。スキーマを定義し、簡単にデータを操作することができます。
【参考】