我正在尝试创建一个类似的Schema结构,
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:
PARKING
处的未定义类型StopType.PARKING
你做过 尝试嵌套Schemas?您只能使用refs或数组进行嵌套。
我的目标是在Stops
集合中添加Routes
列表。
我也有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' }
});
我不确定如何在StopSchema
内使用RouteSchema
作为参考。 (这个答案就行Referencing another schema in Mongoose,但是用NestJS方式)。
答案 0 :(得分:0)
在mongoose中,要引用模式中的其他模式,您必须使用<input type="number" ng-model="size" name="size" min="0" max="10" integer />
所以在你的情况下,代码看起来像这样:
Schema.Types.ObjectId
让我知道它是否有帮助;)