サブ文書配列がある場合、Mongooseは自動的にそれぞれのIDを作成します。例:サブ文書配列項目の_idプロパティの作成を停止する
{
_id: "mainId"
subdocArray: [
{
_id: "unwantedId",
field: "value"
},
{
_id: "unwantedId",
field: "value"
}
]
}
は、配列内のオブジェクトのIDを作成しないためにマングースを伝える方法はありますか?
これは、subSchemaコレクションでも '_id'フィールドをスキップしますか、subSchemaがサブドキュメントアイテムの配列として埋め込みに使用されている場合のみですか?私はこれを特に質問しています。私の[質問](http://stackoverflow.com/questions/38151433/mongoose-inserts-extra-id-in-array-of-objects-corresponding-to-related-entity)のSO今日。 –
私は2つのレベルのネストされたサブスキーマコレクションを使用します。言い換えれば、あなたの例に似たsubSchemaコレクションがあります。その中で、別のサブスキーマコレクションを使用します。私は最初のレベルのサブスキーマモデルインスタンスにidsを使用しないようにしたいが、2番目のレベル(入れ子になった)サブスキーマモデルインスタンスにはidsが必要です。あなたのソリューションを使用すると、 '{_id:false}'を指定すると、サブスキーマの両方のレベルにidsが付きません。この現象を回避する方法はありますか? –
第3レベルで '{_id:true}'を設定しようとしましたか? – throrin19