nestjs-mongodb-demo中cats.controller.ts的使用方法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,nestjs-mongodb-demo中cats.controller.ts的使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。//
千家信息网最后更新 2026年11月01日nestjs-mongodb-demo中cats.controller.ts的使用方法
nestjs-mongodb-demo中cats.controller.ts的使用方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
// sec/app.module.tsimport { Module }from '@nestjs/common';import { AppController } from './app.controller';import { AppService } from './app.service';import { MongooseModule } from '@nestjs/mongoose'import { CatsModule } from './cats/cats.module';@Module({ imports: [ MongooseModule.forRoot('mongodb://localhost/ajanuw', { useNewUrlParser: true }), // ajanuw数据库的名字 CatsModule ], controllers: [AppController], providers: [AppService],})export class AppModule {}模型注入
// src/cats/schemas/cat.schema.tsimport * as mongoose from 'mongoose';export const CatSchema = new mongoose.Schema({ name: String,});cats.module.ts 中使用
import { Module } from '@nestjs/common';import { CatsController } from './cats.controller';import { CatsService } from './cats.service';import { MongooseModule } from '@nestjs/mongoose'import { CatSchema } from './schemas/cat.schema'@Module({ imports: [ MongooseModule.forFeature([ // Schema 定义数据库的结构 { name: 'Cat', schema: CatSchema } // name: 'Cat' cats 表, Cat 必须和service时@InjectModel('Cat')的一样 ]) ], controllers: [CatsController], providers: [CatsService]})export class CatsModule {}cats.service.ts 中注入 CatModel
import { Injectable } from '@nestjs/common';import { Model } from 'mongoose'import { InjectModel } from '@nestjs/mongoose'import { Cat } from './interfaces/cat.interface'import { CreateCat } from './class/create-cat.class'const l = console.log@Injectable()export class CatsService { constructor( @InjectModel('Cat') private readonly catModel: Model // Model 可以操作数据表 ){} async create(cat: CreateCat): Promise { const createdCat = new this.catModel(cat) l(createdCat) // { _id: 5b8e2faba163251c9c769e6e, name: '小黑猫' } 返回一个docment return await createdCat.save() // 保存 document // return this.catModel.insertMany(cat) } async findAll(): Promise { return await this.catModel.find().exec() }} cats.controller.ts
import { Controller, Get, Post, Body } from '@nestjs/common';import { CatsService } from './cats.service'import { CreateCat } from './class/create-cat.class'const l = console.log;@Controller('cats')export class CatsController { constructor( private readonly catsServer: CatsService ){} @Post() create(@Body() cat: CreateCat){ this.catsServer.create(cat); } @Get() findAll(){ return this.catsServer.findAll() }}CreateCat
export class CreateCat { readonly name: string;}Cat
import { Document } from 'mongoose'export interface Cat extends Document { readonly name: string;}完整的 cats.controller.ts
import { Controller, Get, Post, Body, Query, Delete } from '@nestjs/common';import { CatsService } from './cats.service'import { CreateCat } from './class/create-cat.class'const l = console.log;@Controller('cats')export class CatsController { constructor( private readonly catsServer: CatsService ){} @Post() create(@Body() cat: CreateCat){ this.catsServer.create(cat); } @Get() findAll(){ return this.catsServer.findAll() } @Get('find-cat') findCat(@Query('catName') catName){ return this.catsServer.findCat(catName) } @Post('update-cat-name') updateCatName(@Body() body){ this.catsServer.updateCatName(body) } @Delete('remove-cat') removeCat(@Body('catName') catName){ this.catsServer.removeCat(catName) }}cats.service.ts
import { Injectable, HttpException, HttpStatus} from '@nestjs/common';import { Model} from 'mongoose'import { InjectModel} from '@nestjs/mongoose'import { Cat} from './interfaces/cat.interface'import { CreateCat} from './class/create-cat.class'const l = console.log;@Injectable()export class CatsService { constructor( @InjectModel('Cat') private readonly catModel: Model < Cat > ) {} async create(cat: CreateCat): Promise < Cat > { // const createdCat = new this.catModel(cat) // return await createdCat.save() return this.catModel.insertMany(cat) } async findAll(): Promise < Cat[] > { return await this.catModel.find().exec() } async findCat(name: string): Promise < Cat[] > { if (!name) { throw new HttpException('请求参数不正确.', HttpStatus.FORBIDDEN) } let resCat = this.catModel.find({ name }) return resCat } async updateCatName({name, newName}) { if(!name || !newName){ throw new HttpException('请求参数不正确.', HttpStatus.FORBIDDEN) } const where = { name: name }; const update = { $set: { name: newName } }; return await this.catModel.updateOne(where, update); } async removeCat(catName){ l(catName) if(!catName){ throw new HttpException('请求参数不正确.', HttpStatus.FORBIDDEN) } return await this.catModel.deleteOne({name: catName}) }}看完上述内容,你们掌握nestjs-mongodb-demo中cats.controller.ts的使用方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
方法
参数
数据
使用方法
内容
数据库
更多
问题
束手无策
为此
原因
名字
对此
技能
数据表
模型
篇文章
经验
结构
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州百单互联网科技有限公司
腾讯阿里互联网科技
互联网 科技创新
广州宏创互联网科技
九亚互联网科技
融势互联网科技
互联网金融和金融科技
互联网科技大会案例
卓越科技互联网 招聘
联恩商钥互联网科技有限公司
科技赋能互联网健康
深圳国际航运科技和互联网
湖南诚度互联网科技有限公司
宁夏科技产业互联网案例
互联网科技公司有风险吗
注册互联网科技公司经营范围大全
领航科技大厦互联网公司
互联网科技融合创新
恒生互联网科技趋势
广州全民伙伴互联网科技有限公司
互联网科技有限公司
工业互联网科技新基建
撒么互联网科技公司
天扬科技互联网广告
互联网和高科技公司
阿里巴巴算科技企业还是互联网
字节跳动和互联网科技
高科技互联网套路
广州有谷有贝互联网科技有限公司
北京天晋互联网科技有限公司