接口

  1. import { Body, Controller, Get, Query } 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. // 查找
  9. @Get('find')
  10. async find() {
  11. return await this.demoService.findAll({name:'小明'})
  12. }
  13. // 增加
  14. @Get('add')
  15. async add(){
  16. return await this.demoService.add({name:'小小',age:19})
  17. }
  18. // 更新数据
  19. @Get('update')
  20. async update(){
  21. return await this.demoService.update({name:"小小"},{name:'大大'})
  22. }
  23. // 删除数据
  24. @Get('delete')
  25. async delete(){
  26. return this.demoService.delete({name:"小小"})
  27. }
  28. }

操作服务

  1. import { Injectable } from '@nestjs/common';
  2. import { InjectModel } from "@nestjs/mongoose";
  3. // 定义传入参数的接口
  4. import {DemoInterface} from './demo.interface'
  5. @Injectable()
  6. export class DemoService {
  7. constructor(
  8. // 获取模型
  9. @InjectModel('Demo') private readonly demoModule
  10. ) { }
  11. // 查找
  12. async findAll(query:DemoInterface) {
  13. return await this.demoModule.find(
  14. // 只显示name
  15. query
  16. ).exec();
  17. }
  18. // 增加
  19. async add(query:DemoInterface){
  20. return await this.demoModule.insertMany(query)
  21. // of 下面
  22. const demo = new this.demoModule(query)
  23. return await demo.save()
  24. }
  25. // 更新数据
  26. async update(query:DemoInterface,set:DemoInterface){
  27. return await this.demoModule.update(query,set)
  28. }
  29. // 删除数据
  30. async delete(del:DemoInterface){
  31. return await this.demoModule.deleteOne(del)
  32. }
  33. }