2016-04-13 2 views

答えて

1

あなたは_idフィールドせずにアイテムを追加したい場合は、あなたがItemSchema{ _id: false }を追加する必要があります。

var ItemSchema = new Schema({ 
    "pieces": Number, 
    "item": { type: Schema.Types.ObjectId, ref: 'Items' } 
}, { _id: false }); 
1

Mongooseは、Schemaコンストラクタに渡されない場合、各スキーマにデフォルトで_idフィールドを割り当てます。割り当てられる型は、MongoDBのデフォルト動作と一致するObjectIdです。スキーマに_idを追加したくない場合は、このオプションを使用してスキームを無効にすることができます。

このオプションは、サブ文書でのみ使用できます。 MongooseはIDを知らなくても文書を保存できないので、_idなしで文書を保存しようとするとエラーになります。

リンク:http://mongoosejs.com/docs/guide.html#_id

+0

いいえ、私は 'に_idフィールドを削除することが分かっ{_id:偽}'あなただけのサブ文書には、このオプションを使用することができます – Lorenzo

+0

。 MongooseはIDを知らなくても文書を保存できないので、_idなしで文書を保存しようとするとエラーになります。 –

+0

Infactサブ文書の_idフィールドを削除したいのですが、 – Lorenzo