Mongooseでドキュメントを保存した後にIDを取得する方法


Mongooseは、Node.jsのMongoDB用のODM(Object Data Mapping)ライブラリです。Mongooseを使用してドキュメントを保存した後に、生成されたIDを取得する方法について説明します。

Mongooseのsave()メソッドを使用してドキュメントを保存すると、保存が成功した後にMongooseモデルのインスタンスが返されます。このインスタンスには、保存されたドキュメントの情報が含まれています。その中に、_idフィールドが存在し、保存時に自動的に生成された一意のIDが格納されています。

以下は、Mongooseでドキュメントを保存した後にIDを取得する方法の例です。

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
// スキーマの定義
const mySchema = new Schema({
  // フィールドの定義
  // ...
});
// モデルの作成
const MyModel = mongoose.model('MyModel', mySchema);
// ドキュメントの作成
const myDocument = new MyModel({
  // ドキュメントのフィールド値の設定
  // ...
});
// ドキュメントの保存
myDocument.save()
  .then(savedDocument => {
    // 保存が成功した後にIDを取得
    const documentId = savedDocument._id;
    console.log("保存されたドキュメントのID:", documentId);
  })
  .catch(error => {
    console.error("保存中にエラーが発生しました:", error);
  });

上記の例では、myDocument.save()メソッドが呼び出され、保存が成功した後にsavedDocumentという変数に保存されたドキュメントの情報が格納されます。その後、savedDocument._idを使用してドキュメントのIDを取得し、コンソールに出力しています。

この方法を使用すると、Mongooseを介してドキュメントを保存した後に生成されたIDを取得することができます。必要に応じて、このIDを他の処理に使用することができます。