我在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
,但是在查询或更新时必须对每个集合进行字符串化和解析会很麻烦。任何帮助将不胜感激!