nestjs操作mongodb实现增删改查

前置步骤见上

https://blog.csdn.net/yw00yw/article/details/108490087

控制器

students.controller.ts

import {
      Controller, Get } from '@nestjs/common';
import {
      StudentsService } from './students.service';

@Controller('students')
export class StudentsController {
     

    constructor(
        private readonly studentsService: StudentsService
    ) {
     }

    @Get() // 根据查询条件获取数据
    index() {
     
        return this.studentsService.studentsInfo({
     }, 'name age');
    }

    @Get('add') // 添加数据
    add() {
     
        let result = this.studentsService.add({
     
            'name': '王麻子',
            'age': 20,
            'sex': '女'
        })
        return result;
    }

    @Get('update') // 更新数据
    update() {
     
        let result = this.studentsService.update({
     
            '_id': '5f589ac82ee04b58e096cc8d'
        }, {
     
            'name': '呦呦'
        })
        return result;
    }

    @Get('delete')
    delete() {
     
        let result = this.studentsService.delete({
     
            '_id': '5f589ac82ee04b58e096cc8d'
        })
        return result;
    }
}

服务

students.service.ts

import {
      Injectable } from '@nestjs/common';
import {
      InjectModel } from '@nestjs/mongoose';
import {
      Students } from 'src/interface/students.interface';
 
@Injectable()
export class StudentsService {
     
    constructor(
        @InjectModel('Students') private readonly studentsModel
    ) {
     }

    async studentsInfo(json?: Students, fields?: String) {
     
        return await this.studentsModel.find(json, fields).exec();
    }

    async add(json: Students) {
     
        let model = new this.studentsModel(json);
        return await model.save();
    }

    async update(json1: Students, json2: Students) {
     
        let result = await this.studentsModel.updateOne(json1, json2);
        return result;
    }

    async delete(json: Students) {
     
        let result = await this.studentsModel.deleteOne(json);
        return result;
    }
}

接口

students.interface.ts

export interface Students {
     
    _id?: String,
    name?: String;
    age?: Number;
    sex?: String;
}

模型

students.schema.ts

import * as mongoose from 'mongoose';

export const StudentsSchema = new mongoose.Schema({
     
    name: String,
    age: Number,
    sex: String
})

数据库

nestjs操作mongodb实现增删改查_第1张图片

你可能感兴趣的:(nest,nest,nestjs,mongodb,mongodb,nestjs增删改查,mongodb增删改查)