Mongooseは、Node.jsアプリケーションでMongoDBを操作するための便利なツールです。Mongooseは、MongoDBのデータをモデル化して扱うための機能を提供します。
Mongooseの中で、特に重要なデータ型の1つがObjectIdです。ObjectIdはMongoDBのデフォルトのプライマリキーであり、各ドキュメントに一意な識別子を提供します。
以下に、MongooseのObjectId型の使い方とコード例をいくつか紹介します。
-
ObjectIdの作成:
const mongoose = require('mongoose'); const id = new mongoose.Types.ObjectId(); console.log(id); // ObjectId("602dc48c7b5e7a4568a4b7e5")
-
ObjectIdの比較:
const mongoose = require('mongoose'); const id1 = new mongoose.Types.ObjectId(); const id2 = new mongoose.Types.ObjectId(); console.log(id1.equals(id2)); // false
-
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のバリデーション方法を示しています。