我试图按时间戳降序排序嵌套对象dailyPoolSnapshots
的reservesUSD
,并返回它的第一个值(换句话说,返回最新的条目)。我对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
}
}