You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GraphQL中使用orderBy对嵌套对象排序取最新条目报错求助

GraphQL嵌套对象排序报错解决方法

我想对嵌套对象dailyPoolSnapshots的reservesUSD字段按timestamp降序排序,返回最新的第一条数据。我用以太坊主网Curve.fi的subgraph获取池子信息,但几乎不懂GraphQL,文档也晦涩难懂,现在代码运行报错。

我的查询代码:

pools(first: 1000) {
    name
    address
    coins
    coinDecimals
    dailyPoolSnapshots(first: 1, 
      orderBy:{field: timestamp, order: DESC}) {
      reservesUSD
      timestamp
    }
  }

报错信息:

{
  "errors": [
    {
      "locations": [
        {
          "line": 0,
          "column": 0
        }
      ],
      "message": "Invalid value provided for argument `orderBy`: Object({\"direction\": Enum(\"DESC\"), \"field\": Enum(\"timestamp\")})"
    }
  ]
}

解决方法

The Graph的subgraph查询语法中,orderBy参数只需传入字段名称,排序方向要通过单独的orderDirection参数指定,不能将字段和方向放在同一个对象里。

修正后的查询代码:

pools(first: 1000) {
    name
    address
    coins
    coinDecimals
    dailyPoolSnapshots(first: 1, 
      orderBy: timestamp,
      orderDirection: DESC) {
      reservesUSD
      timestamp
    }
  }

内容的提问来源于stack exchange,提问作者EndOfTheGlory

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 04:05:54