前置步骤见上
https://blog.youkuaiyun.com/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
})