【问题标题】:How to define args in nestjs-graphql with MongoDB type arguments?如何使用 MongoDB 类型参数在 nestjs-graphql 中定义 args?
【发布时间】:2020-03-13 18:30:37
【问题描述】:

我的解析器中有以下查询:

    import { Args, Query } from '@nestjs/graphql';
    import { Collection, FilterQuery, FindOneOptions } from 'mongodb';

    ...

    @Query(returns => [Recipe])
    async recipes(
        @Args() query:   FilterQuery<Collection>,
        @Args() options: FindOneOptions
    ):  Promise<Recipe[]> {
        return this.recipeService.findAll();
    }

我试图允许在查询食谱时使用queryoptions 的参数。

我遇到的两个问题如下:

  • 当我按原样运行时,它会告诉我:

    错误:您需要为 RecipeResolver#recipes 参数 #1 提供显式类型!

  • 否则,如果我尝试将类型作为参数传递给@Args 声明性,就像@Args({type: () =&gt; FilterQuery}) query: FilterQuery&lt;Collection&gt; 一样,我会得到:

    'FilterQuery' 只是指一个类型,但在这里它被用作一个值。

【问题讨论】:

    标签: nestjs typegraphql


    【解决方案1】:

    您需要创建一个看起来像您尝试使用的 FilterQueryFindOneOptions 的类,但在其属性上具有 type-graphql 类型装饰器,以便 GraphQL 服务器可以知道如何预期FilterQueryFindOneOptions 的格式来看看。

    【讨论】:

      猜你喜欢
      • 2022-06-11
      • 1970-01-01
      • 2020-12-14
      • 2022-10-08
      • 2018-07-07
      • 2021-06-19
      • 1970-01-01
      • 2019-05-30
      • 2021-02-20
      相关资源
      最近更新 更多