我正在桑格利亚汽酒(scala)上运行graphQL服务器。这是查询示例:
query {
missions {
missionId { id } ,
name
}
}
和示例响应:
{
"data": {
"missions": [
{
"missionId": {
"id": "mission1"
},
"name": "foo"
},
{
"missionId": {
"id": "mission2"
},
"name": "bar"
}
]
}
}
我正在寻找一个过滤列表的查询,只返回ID为mission1
的元素?
答案 0 :(得分:0)
您需要工具分页。将limit
(pageSize
)参数传递到graphql
服务器resolver
。在服务器端处理数据。
query {
missions(limit: 1) {
missionId { id } ,
name
}
}
服务器端:
const resolvers = {
Query: {
missions: (_, {limit}, ctx) => {
const missions = [];
for(let i = 0; i < limit; i++) {
missions.push(db.missions[i])
}
return missions;
}
}
}
这是graphql
的意识形态,前端开发人员定义了数据结构以及他们想要获取的数据。
通过http请求查询list
数据是个坏主意。然后使用filter
或directive
的其他方式graphql
前端数据。浪费带宽。