typescript - 返回类型ORM删除突变

标签 typescript graphql typeorm typegraphql

我无法进行删除突变,函数返回时会发生错误。

如果我在 GraphQL 中运行 BairroDelete,那么 graphql 中的 Mutation 会发生错误。

消息:

Field \ BairroDelete \ must not have a selection since type \" Boolean! \ Has no subfields.,

代码:

import { Resolver, Query, Mutation, Arg } from "type-graphql";
import { Bairro } from "../entities/Bairro";
import { status } from "../enumerador";

@Resolver(of => Bairro)
export class BairroResolver {
  @Query(returns => [Bairro])
  async Bairros() {
    return await Bairro.find();
  }

  @Mutation(() => Bairro)
  async BairroSave(
    @Arg("nome") nome : string
  ) 
  {
    const ativo = await status.Ativo;

    const bairro = await Bairro.create({
      nome,
      status: ativo
    }).save()

    return bairro;
  }

  @Mutation(() => Boolean)
  async BairroDelete(
    @Arg("id") id : string
  ) 
  {
    const sucesso = await Bairro.delete({ id });
    return sucesso;  // <<<<<< ERROR HERE
  }
}

最佳答案

Field \ BairroDelete \ must not have a selection since type \" Boolean! \ Has no subfields.

您需要向我们展示您的 graphql 突变文档。

看起来你正在做这样的事情:

mutation {
  BairroDelete(id: 123) {
    status
  }
}

这是非法的,因为 BairroDelete 返回 bool 标量,而不是您可以从中选择字段的对象类型。

但是,这是合法的:

mutation {
  BairroDelete(id: 123)
}

关于typescript - 返回类型ORM删除突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57595631/

相关文章:

javascript - 无法将数据修补到 FormArray

angular - 在继续之前如何等待 for 循环内的订阅完成

node.js - 如何从cloudinary媒体库中删除文件夹?

typescript - TypeORM:如何使用查询运行器部分更新给定的实体?

mysql - TypeOrm ViewEntity 查询不正确

javascript - TypeScript null 检查不注意 array.length 检查

javascript - 如何合并包含符号的javascript对象?

reactjs - 如何在 Redux-toolkit rtk-query graphql 应用程序中处理错误格式

javascript - 无法从 Github 的 GraphQL 渲染嵌套 Prop

nestjs - Nest js 和 typeorm 自定义存储库问题