MongooseのObjectId型についての使い方


Mongooseは、Node.jsアプリケーションでMongoDBを操作するための便利なツールです。Mongooseは、MongoDBのデータをモデル化して扱うための機能を提供します。

Mongooseの中で、特に重要なデータ型の1つがObjectIdです。ObjectIdはMongoDBのデフォルトのプライマリキーであり、各ドキュメントに一意な識別子を提供します。

以下に、MongooseのObjectId型の使い方とコード例をいくつか紹介します。

  1. ObjectIdの作成:

    const mongoose = require('mongoose');
    const id = new mongoose.Types.ObjectId();
    console.log(id); // ObjectId("602dc48c7b5e7a4568a4b7e5")
  2. ObjectIdの比較:

    const mongoose = require('mongoose');
    const id1 = new mongoose.Types.ObjectId();
    const id2 = new mongoose.Types.ObjectId();
    console.log(id1.equals(id2)); // false
  3. ObjectIdのバリデーション:

    const mongoose = require('mongoose');
    const schema = new mongoose.Schema({
    userId: {
    type: mongoose.Schema.Types.ObjectId,
    required: true,
    validate: {
      validator: (value) => {
        return mongoose.Types.ObjectId.isValid(value);
      },
      message: 'Invalid userId'
    }
    }
    });
    const Model = mongoose.model('Model', schema);

上記のコード例では、ObjectIdの作成方法、ObjectId間の比較方法、そしてObjectIdのバリデーション方法を示しています。