Javascript 如果模型仅在根模块中,如何注入模型

Javascript 如果模型仅在根模块中,如何注入模型,javascript,node.js,typescript,mongoose,nestjs,Javascript,Node.js,Typescript,Mongoose,Nestjs,我想在NestJS服务中注入一个mongo db模型。该模型仅存在于根模块中 import { Injectable } from '@nestjs/common'; import { InjectModel } from '@nestjs/mongoose'; import { Model } from 'mongoose'; import { IFolderModel } from './interfaces/folder.interface'; @Injectable() export

我想在NestJS服务中注入一个mongo db模型。该模型仅存在于根模块中

import { Injectable } from '@nestjs/common';
import { InjectModel } from '@nestjs/mongoose';
import { Model } from 'mongoose';
import { IFolderModel } from './interfaces/folder.interface';

@Injectable()
export class FolderService {
    constructor(@InjectModel('IFolder') private folderModel: Model<IFolderModel>) {

    }

    async create(folderInstance: IFolderModel): Promise<IFolderModel> {
       const folderModelToBeSaved = new this.folderModel(folderInstance);
       return await folderModelToBeSaved.save();
    }

    async findAll(): Promise<IFolderModel[]> {
       return await this.folderModel.find().exec();
    }
} 

您还必须使用
MongooseModule.forFeature
导入模式。通常,您会在根模块中设置数据库连接,然后在专用功能模块中导入模式。这就是为什么进口是分开的

MongooseModule.forFeature([{ name: 'Folder', schema: FolderSchema }])

有关更多信息,请参阅。

如果未创建专用功能,是否有方法导入架构?只需在与
forRoot
导入相同的模块中执行
MongooseModule.forFeature
导入即可。:-)
MongooseModule.forFeature([{ name: 'Folder', schema: FolderSchema }])