Mongoose: extending schemas

前端 未结 9 484
轮回少年
轮回少年 2020-12-05 10:10

Currently I have two almost identical schemas:

var userSchema = mongoose.Schema({

    email: {type: String, unique: true, required: true, validate: emailVal         


        
9条回答
  •  不知归路
    2020-12-05 10:41

    Mongoose 3.8.1 now has support for Discriminators. A sample, from here: http://mongoosejs.com/docs/api.html#model_Model.discriminator

    function BaseSchema() {
      Schema.apply(this, arguments);
    
      this.add({
        name: String,
        createdAt: Date
      });
    }
    util.inherits(BaseSchema, Schema);
    
    var PersonSchema = new BaseSchema();
    var BossSchema = new BaseSchema({ department: String });
    
    var Person = mongoose.model('Person', PersonSchema);
    var Boss = Person.discriminator('Boss', BossSchema);
    

提交回复
热议问题