小编Ale*_*lex的帖子

Typegoose 模型和多对多关系

所以我正在使用 NestJs 和 Typegoose 构建一个后端,具有以下模型:

部门

@modelOptions({ schemaOptions: { collection: 'user_department', toJSON: { virtuals: true }, toObject: { virtuals: true }, id: false } })
export class Department {

    @prop({ required: true })
    _id: mongoose.Types.ObjectId;

    @prop({ required: true })
    name: string;

    @prop({ ref: () => User, type: String })
    public supervisors: Ref<User>[];

    members: User[];

    static paginate: PaginateMethod<Department>;
}
Run Code Online (Sandbox Code Playgroud)

用户

@modelOptions({ schemaOptions: { collection: 'user' } })
export class User {

    @prop({ required: true, type: String })
    _id: string;

    @prop({ required: …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb typescript typegoose

3
推荐指数
1
解决办法
3461
查看次数

Nestjsx/crud + TypeORM:在空请求中修补和发布结果

我试图通过使用 TypeORM 和 crud 库创建一个简单的 REST Api 来进入 Nestjs。到目前为止,我已经创建了一个基于工作角色的身份验证,但我遇到了一个奇怪的问题。我使用 crud 库为 User 实体创建一个简单的控制器。GET 请求运行正常,没有任何问题。但我无法 POST 来创建新用户,也无法使用 PATCH 来更新用户。我认为这可能只是我的一个非常愚蠢的错误,但由于我没有编写太多代码,所以我找不到与文档中的示例有任何差异。

当我尝试修补属性时,它只是用原始用户对象响应我,没有进行任何更改(就像我发送了一个空请求)。当我尝试发布新用户时,响应是以下错误消息:

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Empty data. Nothing to save."
}
Run Code Online (Sandbox Code Playgroud)

这可能与验证有关..

这是我的用户控制器:

import { Controller, UseGuards } from '@nestjs/common';
import { UserService } from './user.service';
import { User } from './user.entity';
import { AuthGuard } from '@nestjs/passport';
import { ApiTags, ApiSecurity } from '@nestjs/swagger';
import { RolesGuard } from 'src/auth/role.guard';
import { Roles } from './roles.decorator';
import { …
Run Code Online (Sandbox Code Playgroud)

crud typeorm nestjs

0
推荐指数
1
解决办法
5108
查看次数

标签 统计

crud ×1

mongodb ×1

mongoose ×1

nestjs ×1

typegoose ×1

typeorm ×1

typescript ×1