【发布时间】:2017-11-01 14:52:12
【问题描述】:
我有一个带有枚举的架构:
export interface IGameMapModel extends IGameMap, Document {}
export const gameMapSchema: Schema = new Schema({
name: { type: String, index: { unique: true }, required: true },
type: { type: String, enum: CUtility.enumToArray(GameMode) }
});
export const GameMap: Model<IGameMapModel> = model<IGameMapModel>('GameMap', gameMapSchema);
GameMap 是一个枚举。
第一个问题已经出现:我需要将枚举转换为字符串数组才能将其与架构一起使用。
其次,我想在架构创建期间直接使用枚举值。
new GameMap({
name: 'Test',
type: GameMode.ASSAULT
});
返回ValidationError: type: '1' is not a valid enum value for path 'type'.
由于我在模型枚举属性中设置的字符串数组,我不确定这是否真的可以工作。
我的想法是在架构创建期间创建某种类型的转换。这是否适用于猫鼬,还是我必须创建某种帮助器来创建对象?
【问题讨论】:
标签: node.js mongodb typescript mongoose enums