Уникальный индекс для вложенных полей в схеме Mongoose

Эти схемы действительны?

var StudentSchema = new mongoose.Schema({
  first_name: {type: String, required:true},
  last_name: {type: String, required: true},
  mother_name : {type: String, required: true},
  siblings:[{
    name:{type: String, required: true},
    age:{type:Number, required: true},
    school:{type:String, required:true}
  }]
});

И это

var WinSchema = new mongoose.Schema({
    event:{type: mongoose.Schema.Types.ObjectId, ref:'Event'},
    winners : [{
        student: {type: mongoose.Schema.Types.ObjectId, ref: 'Student'},
        position: {type:String, enum:["First","Second","Third","Consolation"]}
  }]
});

WinSchema.index({event:1,winners.student:1},{unique:true});

mongoose.model('Win',WinSchema);

Можем ли мы вложить это, как показано в StudentSchema? Можем ли мы создать уникальный индекс для вложенных документов?

1 ответ

Да, вы можете вложить его, см. Пример схемы здесь и, конечно, вы можете создать индекс для вложенных документов, вот пример.

Другие вопросы по тегам