Как использовать поле разрешения и загрузчик данных Nest JS в NestJS/Grapql?

Я столкнулся с двумя проблемами при использовании декоратора ResolveFeild.

Вот моя категория Entity-

      @ObjectType()
export class Category {
    @Field(() => ID, { nullable: false })
    id: ObjectId;
    @Field(() => String, { nullable: false })
    name: string;
    @Field(() => String, { nullable: true })
    description: string;
    @Field(() => [Subcategory], { nullable: true })
    subCategory: Subcategory[];
    @Field(() => Date, { nullable: false })
    createdAt: DateScalar;
    @Field(() => Date, { nullable: false })
    updatedAt: DateScalar;
}

У меня есть одно поле subCategory. Сущность подкатегории -

      @ObjectType()
export class Subcategory {
    @Field(() => ID, { nullable: false })
    id: ObjectId;
    @Field(() => String, { nullable: false })
    name: string;
    @Field(() => Category, { nullable: false })
    category: Category;
    @Field(() => Date, { nullable: false })
    createdAt: DateScalar;
    @Field(() => Date, { nullable: false })
    updatedAt: DateScalar;
}

Затем я запускаю один запрос для возврата категории.

      @Query(() => [Category], { name: "getCategories" })
categories() {
    return this.categoryService.categories()
}

//Resolver field for Category query

@ResolveField('subcategory', () => [Subcategory])
getSubCategory(
        @Parent() category: Category,
    ) {
    console.log(category)
}

В консоли мы видим-

      {
  _id: new ObjectId("62a1b6bf182e9775f15f8433"),
  name: 'Shirts',
  description: 'This is computer descriptions',
  subCategory: [
    new ObjectId("62a21d65df7751587e09d163"),
    new ObjectId("62a21d52df7751587e09d15e")
  ],
  createdAt: 2022-06-09T09:00:47.607Z,
  updatedAt: 2022-06-10T12:43:28.158Z,
  __v: 0
}
{
  _id: new ObjectId("62a355c4cd532cce21b0a3d2"),
  name: 'Computer',
  description: 'Shirt is a category description!',
  subCategory: [],
  createdAt: 2022-06-10T14:31:32.634Z,
  updatedAt: 2022-06-10T14:31:32.634Z,
  __v: 0
}

Тогда как я могу отправить эту подкатегорию в службу категорий?

пробую так-

      const { subCategory } = category;
return this.categoryService.subCategoryBatch(subCategory)

и КатегорияСервис-

      async subCategoryBatch(subCategory: //What will be type?) {

}

может ли кто-нибудь помочь мне или дать какой-либо пример кода. И я также хочу использовать загрузчик данных в этом проекте. Может кто-нибудь мне помочь?

это код моего проекта - https://github.com/siamahnaf198/ebuy-back

Пожалуйста, помогите мне и приведите только один пример с работой загрузчика данных и ResolveField.

0 ответов

Другие вопросы по тегам