2017-12-05 1 views
0

私はmongooseでスキーマを作成しようとしていますが、それは_idというmongodbに新しいインデックスを作成していますか?私はこの結果を期待していモンゴーズを停止して自動インデックスを作成する

const modelSchema = new Schema({ 
    uid: { type: Number, required: true }, 
    content: { 
     text: { type: String }, 
     attachments: [{ 
      type: { type: String, enum: ['IMAGE', 'VIDEO', 'POLL', 'GOAL', 'POST', 'MILESTONE', 'ARTICLE', 'DOCUMENT', 'AUDIO', 'QUOTE', 'USER', 'TIP', 'URL'] }, 
      object_id: { type: Number } 
     }] 
    }, 
    created: { type: String } 
}); 

:私はこのような結果になっています

"content" : { 
"text" : "hello", 
"attachments" : [ 
    { 
     "type" : "IMAGE", 
     "object_id" : 1 
    } 
] 

"content" : { 
"text" : "hello", 
"attachments" : [ 
    { 
     "type" : "IMAGE", 
     "object_id" : 1, 
     "_id" : ObjectId("5a2664fd6db6672ac43f1823") 
    } 
] 

答えて

2

をあなたは、スキーマ

を定義するときに、自動_idを無効にするにはfalseに_idを設定することができます
var childSchema = new Schema({ name: String }, { _id: false }); 

チェックhttp://mongoosejs.com/docs/guide.html#_id

0

モンゴあなたが db.a.insert({"name":"abcd"})を挿入した場合、これは、これが作成されます_idデフォルト db.a.insert({"name":"abcd","_id":1})を作成し、あなたの値を使用して独自のオーバーライドを使用したい場合は、

"_id" : 1 

としてEX を設定することができ_idのデフォルトを作成し、 _idを1と設定する

関連する問題