如何为graphQL使用orderBy



我试图按时间戳降序排序嵌套对象dailyPoolSnapshotsreservesUSD,并返回它的第一个值(换句话说,返回最新的条目)。我对GraphQL几乎一无所知,而且它的文档似乎令人困惑且稀缺。有人能帮我弄清楚如何给我的物品分类吗?

我在以太坊主网上使用Curve.fi的子图来获取有关池的信息

我代码:

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")})"
}
]
}```

这是你的解决方案

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

在操场,右边有文档,你可以搜索dailyPoolSnapshots,如果你点击它,你会看到这个查询的文档

这个查询的示例:
Type
[DailyPoolSnapshot!]!
Arguments
skip: Int = 0
first: Int = 100
orderBy: DailyPoolSnapshot_orderBy
orderDirection: OrderDirection
where: DailyPoolSnapshot_filter
block: Block_height

参数是你可以使用的所有参数

orderBy和orderDirection是单独的查询参数,orderDirection的enum语法需要小写。

{
platforms(first: 5) {
id
pools {
id
dailyPoolSnapshots(first: 1, orderBy: timestamp, orderDirection: asc) {
timestamp
}
}
poolAddresses
latestPoolSnapshot
}
registries(first: 5) {
id
}
}

相关内容

  • 没有找到相关文章

最新更新