【发布时间】:2021-10-30 09:55:00
【问题描述】:
我正在尝试找出 NestJS,但数组中有错误。请告诉我如何解决它?我试图弄清楚并意识到错误出现在“优势:TopPageAdvantage [];”中。出于某种原因,他不想添加数组。没有数组,一切正常。
package.json 中的版本:
"@typegoose/typegoose": "^8.2.0",
"mongoose": "^6.0.3",
Docker 中的版本:image: mongo:4.4.4.
[Nest] 16224 - 31.08.2021, 22:31:41 ERROR [ExceptionHandler] Cannot read property 'prototype' of undefined
TypeError: Cannot read property 'prototype' of undefined
at mapOptions (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@typegoose\typegoose\src\internal\utils.ts:460:50)
at Object.mapArrayOptions (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@typegoose\typegoose\src\internal\utils.ts:389:18)
at Object.processProp (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@typegoose\typegoose\src\internal\processProp.ts:469:18)
at Object._buildSchema (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@typegoose\typegoose\src\internal\schema.ts:59:7)
at buildSchema (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@typegoose\typegoose\src\typegoose.ts:140:9)
at Object.getModelForClass (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@typegoose\typegoose\src\typegoose.ts:77:58)
at InstanceWrapper.modelFactory [as metatype] (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\nestjs-typegoose\dist\typegoose.providers.js:22:58)
at Injector.instantiateClass (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@nestjs\core\injector\injector.js:294:55)
at callback (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@nestjs\core\injector\injector.js:43:41)
at Injector.resolveConstructorParams (E:\Обучение node.js\udemy_nest_js\top-api\node_modules\@nestjs\core\injector\injector.js:119:24)
页面模块:
import { Module } from '@nestjs/common';
import { TypegooseModule } from "nestjs-typegoose";
import { TopPageController } from './top-page.controller';
import { TopPageModel } from './top-page.model';
@Module({
controllers: [TopPageController],
imports:[
TypegooseModule.forFeature([
{
typegooseClass: TopPageModel,
schemaOptions: {
collection:'TopPage'
}
}
])
]
})
export class TopPageModule {}
页面模型:
import { Base, TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
import { prop } from '@typegoose/typegoose';
import { ProductCharacteristic } from '../product/product.model';
export enum TopLevelCategory{
Courses,
Services,
Books,
Products
}
export class HhData{
@prop()
count:number;
@prop()
juniorSalary:number;
@prop()
middleSalary:number;
@prop()
seniorSalary:number;
}
export class TopPageAdvantage{
@prop()
title:string;
@prop()
description:string;
}
export interface TopPageModel extends Base{}
export class TopPageModel extends TimeStamps{
@prop({ enum: TopLevelCategory })
firstCategory:TopLevelCategory;
@prop()
secondCategory:string;
@prop({unique:true})
alias:string;
@prop()
title:string;
@prop()
category:string;
@prop({type: () => HhData})
hh?:HhData;
@prop({type: () => [TopPageAdvantage]})
advantages:TopPageAdvantage[];
@prop()
seoText:string;
@prop()
tagsTitle:string;
@prop({type: () => [String]})
tags:string[];
}
【问题讨论】:
-
typegoose 支持 mongo v4 吗? TypeORM 在尝试使用 Mongo v4 时遇到了同样的问题,这就是我问的原因
-
我正在尝试学习课程,并且一切正常,没有任何问题。因此 typegoose 支持 mongo v4
标签: javascript node.js nestjs