{ Prop, Schema, SchemaFactory } from '@nestjs/mongoose';
import mongoose, { HydratedDocument } from 'mongoose';
export type PersonDocument = HydratedDocument<PersonSchemaModel>;
@Schema()
export class PersonSchemaModel {
@Prop({
type: String,
default: new mongoose.Types.ObjectId(),
unique: true,
required: true,
})
_id: string;
@Prop({ required: true })
name: string;
@Prop()
rs_url?: string;
@Prop({ type: [String], enum: Object.keys(personRoles) })
roles: string[];
}
export const PersonSchema = SchemaFactory.createForClass(PersonSchemaModel);
Но как только в модуле я пишу:
MongooseModule.forFeature([
{ name: PersonSchemaModel.name, schema: PersonSchemaModel },
]),
Оно валится с ошибкой The 2nd parameter to mongoose.model() should be a schema or a POJO
Error: The 2nd parameter to mongoose.model() should be a schema or a POJO.
Я не очень понимаю, где я накосячил, гуглёж мало чем помогает
schema: PersonSchema а не PersonSchemaModel
ещё бы код где ты подключаешь схему
Схема в отдельном модуле. Только что для изоляции перенес всё, что связано с Монгой, в отдельный модуль. Если просто гадить в корень, в AppModule, то ошибка всё равно та же. Код, где я что-то делаю со схемой, я закомментировал (см. скриншот 2), чтобы ограничить поиск ошибки. Ошибка возникает на скриншоте 1, когда я добавляю схему в MongooseModule.forFeature([])
Обсуждают сегодня