安装依赖

  1. yarn add @nestjs/mongoose mongoose

配置数据库地址

在app.module中配置统一的数据库地址,也可以在其他.module中配置独立的数据库地址

  1. // 配置数据库连接
  2. import { MongooseModule} from '@nestjs/mongoose';
  3. // 导入模块
  4. import { DemoModule } from './demo/demo.module'
  5. @Module({
  6. // 连接mongodb数据库
  7. imports: [
  8. MongooseModule.forRoot('mongodb://192.168.124.15/test'),
  9. // 引入 配置的好模块
  10. DemoModule
  11. ]
  12. })

配置shcema

  1. import * as mongoose from 'mongoose';
  2. export const DemoSchema = new mongoose.Schema({
  3. name:{
  4. type:String,
  5. required:true
  6. },
  7. age:{
  8. type:Number
  9. }
  10. })

配置服务

  1. import { Injectable } from '@nestjs/common';
  2. import { InjectModel } from "@nestjs/mongoose";
  3. @Injectable()
  4. export class DemoService {
  5. constructor(
  6. // 获取模型
  7. @InjectModel('Demo') private readonly demoModule
  8. ) { }
  9. // 数据库里面查询所有文章
  10. async findAll() {
  11. // 查到数据返回
  12. return await this.demoModule.find().exec();
  13. }
  14. }

接口

  1. import { Controller, Get } from '@nestjs/common';
  2. import { DemoService } from "./demo.service";
  3. @Controller('demo')
  4. export class DemoController {
  5. constructor(
  6. private readonly demoService: DemoService
  7. ) { }
  8. @Get()
  9. async index() {
  10. return await this.demoService.findAll()
  11. }
  12. }