代码之家  ›  专栏  ›  技术社区  ›  Zoltan Hernyak

ChilliStream graphql:使用变量定义order_by

  •  0
  • Zoltan Hernyak  · 技术社区  · 11 月前

    我有一个正在工作的graphql查询:

    query orderOnTheFly {
      products(order:{ id: ASC, status: ASC }) 
      {
        nodes { id status }
      }
    }
    

    现在我必须(在前端)实现用户选择哪个字段( id status )以及哪个顺序( ASC DESC )想要使用(一次只能按一个字段排序)。我想写的内容(例如$fieldName=“id”,$order=“ASC”-允许排序 id ASC ):

    query orderOnTheFly( $fieldName:String, $order:String) {
      products(order:{ $fieldName: $order }) 
      {
        nodes { id status }
      }
    }
    

    或者至少($idOrder=null,$statusOrder=“ASC”-当我不选择时 身份证件 字段进行排序,仅通过 status ASC )

    query orderOnTheFly( $idOrder:String, $statusOrder:String) {
      products(order:{ id: $idOrder, status: $statusOrder }) 
      {
        nodes { id status }
      }
    }
    

    它们都不起作用。如何解决这种情况?

    前端使用react中继编译器,所以我不想生成带有字符串操作的graphql查询。否则,我的graphql服务器是一个带有hotChocolate包的.net核心服务器(数据库是一个Marten事件存储)。

    0 回复  |  直到 11 月前
        1
  •  0
  •   Michel Floyd    11 月前

    避免使用字符串操作生成查询的最简单方法是将查询编写为使用 variables 对象作为输入。react relay可以“编译”查询,然后 变量 对象可以在运行时定义。

    推荐文章