1. ホーム
  2. node.js

[解決済み】Mongoose がサブドキュメントの配列アイテムに _id プロパティを作成しないようにする

2022-03-31 14:50:48

質問

サブドキュメント配列がある場合、Mongoose は自動的にそれぞれの ID を作成します。例を挙げます。

{
    _id: "mainId"
    subDocArray: [
      {
        _id: "unwantedId",
        field: "value"
      },
      {
        _id: "unwantedId",
        field: "value"
      }
    ]
}

Mongoose に配列内のオブジェクトの ID を作成しないように指示する方法はありますか?

どのように解決するのですか?

簡単なことで、サブシマで定義すればいいのです。

var mongoose = require("mongoose");

var subSchema = mongoose.Schema({
    // your subschema content
}, { _id : false });

var schema = mongoose.Schema({
    // schema content
    subSchemaCollection : [subSchema]
});

var model = mongoose.model('tablename', schema);