Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

131
Vistas
Filtrar datos anidados en esquema con fieldresolver

Soy nuevo en el uso de la API de graphql, así que tal vez lo que estoy preguntando es algo fácil de hacer.

quiero filtrar datos anidados en mi esquema, este es mi esquema con typeorm, todo está bien con las relaciones y sé cómo manejar el problema N + 1.

 @ObjectType() @Entity() export class Product extends BaseEntity { @Field() @PrimaryGeneratedColumn() Id_Product!: Number; @Field() @Colum() Name: String; @Field(() => [Product _Photo], { nullable: true }) @OneToMany(() => Product _Photo, product_photo => product _photo .Photo) Product _Photo: Product _Product []; @Field(() => [Category], { nullable: true }) @OneToMany(() => Category, category=> category.Category ) Category: Category []; @Field() @CreateDateColumn() CreatedAt: Date; @Field() @CreateDateColumn() UpdateAt: Date; }

así que ahora, para manejar la relación de uno a muchos, necesito hacer que los resolutores de campo obtengan los datos, este es mi resolutor

 @Resolver(Product) export class ProductResolver { @FieldResolver(() => Product) async Product_Photo(@Root() Product: Product) { return await Product_Photo.find({ Id_Product: Product.Id_Product}); } @FieldResolver(() => Product) async Category(@Root() Product: Product) { return await Category.find({ Id_Product: Product.Id_Product}); } @Query(() => [Product], { nullable: true }) async GetProduct(): Promise<Product[]> { // need to filter sort and paginate the product // FILTER BY CATEGORY // Product.find().filter({ Category: ['Art', 'Food'] }) return await Product.find();; } }

entonces puedo hacer un filtro en javascript o con typeorm, el problema es que el campo de categoría está vacío hasta que se ejecuta la consulta GetProduct y en el resolver archivado solo puedo obtener la categoría de un producto, para filtrar los productos por categoría necesito hacer después de que se ejecuten los solucionadores de campo, ¿hay alguna manera de hacer esto? Si es así, puedo hacer una ordenación por filtro y paginar todos los datos y enviar los datos perfectamente.

si no es una forma de obtener los datos después de que se ejecutan todos los solucionadores de campo, ¿cómo puedo hacer esto de otra manera? No quiero ejecutar una o varias consultas dentro de la consulta GetProduct. camino


about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda