Mongooseを使用したNode.jsとExpressでのモデルスキーマの作成方法


まず、Node.jsとExpressをインストールしてセットアップします。次に、mongooseパッケージをインストールします。

npm install mongoose

モデルスキーマは、データベースのコレクションに対応するデータ構造を定義します。以下は、ユーザーのモデルスキーマの例です。

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const userSchema = new Schema({
  name: String,
  age: Number,
  email: {
    type: String,
    required: true,
    unique: true
  },
  createdAt: {
    type: Date,
    default: Date.now
  }
});
const User = mongoose.model('User', userSchema);
module.exports = User;

上記の例では、nameageemailcreatedAtというフィールドを持つユーザーモデルを定義しています。emailフィールドは必須で一意であることを指定しています。createdAtフィールドは現在の日時をデフォルト値として設定しています。

モデルの作成が完了したら、Expressのルートファイルでモデルを使用することができます。以下は、ユーザーを作成するルートハンドラの例です。

const express = require('express');
const router = express.Router();
const User = require('../models/user');
router.post('/users', async (req, res) => {
  try {
    const newUser = new User(req.body);
    const savedUser = await newUser.save();
    res.status(201).json(savedUser);
  } catch (error) {
    res.status(400).json({ message: error.message });
  }
});
module.exports = router;

上記の例では、POSTリクエストを受け取って新しいユーザーを作成し、データベースに保存しています。エラーが発生した場合は、適切なエラーメッセージを返します。

これらはMongooseを使ったモデルスキーマの作成と利用の基本的な例です。他にも多くの機能やオプションがありますので、Mongooseのドキュメントを参照してさらに学習することをおすすめします。