NestJS Typegoose 项目教程
nestjs-typegooseTypegoose with NestJS项目地址:https://gitcode.com/gh_mirrors/ne/nestjs-typegoose
1. 项目目录结构及介绍
nestjs-typegoose/
├── src/
│ ├── app.module.ts
│ ├── main.ts
│ ├── config/
│ │ ├── mongoose.config.ts
│ ├── models/
│ │ ├── user.model.ts
│ ├── services/
│ │ ├── user.service.ts
│ ├── controllers/
│ │ ├── user.controller.ts
├── test/
├── package.json
├── tsconfig.json
├── README.md
目录结构介绍
- src/: 项目的源代码目录。
- app.module.ts: 应用程序的主模块文件。
- main.ts: 应用程序的启动文件。
- config/: 配置文件目录,包含数据库配置等。
- mongoose.config.ts: MongoDB 配置文件。
- models/: 数据模型目录,包含 Typegoose 模型定义。
- user.model.ts: 用户模型定义。
- services/: 服务层目录,包含业务逻辑。
- user.service.ts: 用户服务逻辑。
- controllers/: 控制器目录,处理 HTTP 请求。
- user.controller.ts: 用户控制器。
- test/: 测试文件目录。
- package.json: 项目依赖和脚本配置文件。
- tsconfig.json: TypeScript 配置文件。
- README.md: 项目说明文档。
2. 项目的启动文件介绍
main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(3000);
}
bootstrap();
启动文件介绍
- NestFactory.create(AppModule): 创建 NestJS 应用程序实例,传入主模块
AppModule
。 - app.listen(3000): 启动应用程序,监听端口 3000。
3. 项目的配置文件介绍
mongoose.config.ts
import { TypegooseModule } from 'nestjs-typegoose';
import { ConfigModule, ConfigService } from '@nestjs/config';
export const mongooseConfig = TypegooseModule.forRootAsync({
imports: [ConfigModule],
inject: [ConfigService],
useFactory: async (configService: ConfigService) => ({
uri: configService.get<string>('MONGO_URI'),
useNewUrlParser: true,
useUnifiedTopology: true,
}),
});
配置文件介绍
- TypegooseModule.forRootAsync: 异步配置 Typegoose 模块。
- imports: 导入
ConfigModule
,用于读取配置。 - inject: 注入
ConfigService
,用于获取配置项。 - useFactory: 工厂函数,返回 MongoDB 连接配置。
- uri: 从环境变量中读取 MongoDB URI。
- useNewUrlParser: 使用新的 URL 解析器。
- useUnifiedTopology: 使用新的服务器发现和监视引擎。
- imports: 导入
通过以上步骤,您可以了解如何使用 nestjs-typegoose
项目,并根据项目的目录结构、启动文件和配置文件进行开发和配置。
nestjs-typegooseTypegoose with NestJS项目地址:https://gitcode.com/gh_mirrors/ne/nestjs-typegoose