hello everyone i have a problem i want to implement many to many on typegoose when i use
export const PortfolioModel = getModelForClass(Portfolio);
getting this error throw new Error(Invalid ${type} object);
portfolio.service.ts
import { getModelForClass, prop } from "@typegoose/typegoose";
import { Base, TimeStamps } from "@typegoose/typegoose/lib/defaultClasses";
import { Types } from "mongoose";
export interface Portfolio extends Base {}
export class Portfolio extends TimeStamps {
@prop()
title: string;
@prop()
description: string;
@prop()
status: boolean;
@prop()
client: string;
@prop()
location: string;
@prop()
publishedDate: string;
}
export const PortfolioModel = getModelForClass(Portfolio);
services.model.ts
import { getModelForClass, prop } from "@typegoose/typegoose";
import { Base, TimeStamps } from "@typegoose/typegoose/lib/defaultClasses";
import { Types } from "mongoose";
export interface Services extends Base {}
export class Services extends TimeStamps {
@prop()
name: string;
@prop()
description: string;
}
export const ServicesModel = getModelForClass(Services);
error:
throw new Error(`Invalid ${type} object`);
^
Error: Invalid model object
at invalidObject (/Users/admin/Documents/personal-projects/partfolio/portfolio-backend/node_modules/nestjs-typegoose/dist/typegoose.providers.js:51:11)
at Object.convertToTypegooseClassWithOptions (/Users/admin/Documents/personal-projects/partfolio/portfolio-backend/node_modules/nestjs-typegoose/dist/typegoose.providers.js:37:12)
at /Users/admin/Documents/personal-projects/partfolio/portfolio-backend/node_modules/nestjs-typegoose/dist/typegoose.module.js:28:75
at Array.map (<anonymous>)
at Function.forFeature (/Users/admin/Documents/personal-projects/partfolio/portfolio-backend/node_modules/nestjs-typegoose/dist/typegoose.module.js:28:40)
at Object.<anonymous> (/Users/admin/Documents/personal-projects/partfolio/portfolio-backend/src/portfolio/portfolio.module.ts:10:21)
at Module._compile (node:internal/modules/cjs/loader:1101:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
tsconfig.json
{
"compilerOptions": {
"module": "commonjs",
"declaration": true,
"removeComments": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es2017",
"sourceMap": true,
"outDir": "./dist",
"baseUrl": "./",
"incremental": true,
"skipLibCheck": true,
"strictNullChecks": false,
"noImplicitAny": false,
"strictBindCallApply": false,
"forceConsistentCasingInFileNames": false,
"noFallthroughCasesInSwitch": false,
"strict": true,
"strictPropertyInitialization": false,
"skipDefaultLibCheck": true
}
}
direct export solved my problem