【发布时间】:2018-11-09 14:10:44
【问题描述】:
我正在尝试创建一个这样的架构结构,
import * as mongoose from 'mongoose';
import * as Stop from 'stop-model';
export const RouteSchema = new mongoose.Schema({
_id: String,
stop: [Stop],
type: { type: String, enum: ['INBOUND', 'OUTBOUND'] }
}, {
versionKey: false,
timestamps: { createdAt: 'createTime', updatedAt: 'updateTime' }
});
停止模型是一个接口,
import { Document } from 'mongoose';
export interface Stop extends Document {
_id: String,
stopName: String,
type: StopType,
createTime: number,
updateTime: number
}
export enum StopType {
PARKING= 'PARKING',
WAYPOINT = 'WAYPOINT',
STOP = 'STOP'
}
但是运行时出现以下错误
TypeError: Undefined type
PARKINGatStopType.PARKING你有没有 尝试嵌套模式?您只能使用 refs 或数组进行嵌套。
我的目标是在Routes 集合中列出Stops。
我也有一个像这样定义的StopSchema,
import * as mongoose from 'mongoose';
export const StopSchema = new mongoose.Schema({
_id: String,
stopName: String,
type: { type: String, enum: ['PARKING', 'WAYPOINT', 'STOP'] }
}, {
versionKey: false,
timestamps: { createdAt: 'createTime', updatedAt: 'updateTime' }
});
我不确定如何在RouteSchema 中使用StopSchema 作为参考。 (在这个答案Referencing another schema in Mongoose 的行中,但是以 NestJS 的方式)。
【问题讨论】:
标签: mongodb mongoose enums nestjs