subSchema的猫鼬枚举

时间:2020-10-20 12:31:01

标签: node.js mongodb mongoose mongoose-schema

我在Mongoose中有一个Exercise模型,其中有一个sets字段,其中包含有关每个集合的信息,例如代表次数,体重等。

const repExerciseSchema = new mongoose.Schema({
    // ...other fields
    sets: [Set],
});

const Set = new mongoose.Schema({
    reps: {
       type: Number,
        required: true,
        min: 0
    },
    weight: {
        type: Number,
        required: true,
        min: 0
    },
    //... other fields
});

但是,我想使用不同种类的集合,例如dropset或superset。有什么办法可以将枚举与子模式一起使用,例如

sets: {
    type: mongoose.Types.Any, // I don't know if this exists
    enum: [Dropset, Superset, Set], //enum for schemas
    required: true
}

如果没有,还有其他方法可以实现吗?我想到了Set与String字段尽可能通用,并使用JSON.stringify,但是在查询或更新时必须对每个集合进行字符串化和解析会很麻烦。任何帮助将不胜感激!

0 个答案:

没有答案