我在Strapi(版本 3.0.0-alpha.26.2 )中的查询遇到一个非常奇怪的问题。我有一个users
集合,其中包含3个要通过GraphQL提取的文档。要获取所有用户,查询为:
users {
firstName
}
这将返回以下内容:
{
"data": {
"users": [
{
"firstName": "Arnold"
},
{
"firstName": "Bill"
},
{
"firstName": "Vin"
}
]
}
}
3个名字。现在,我希望只检索前两个用户。对于这种分页用例,可以在Strapi查询中传递两个参数:start
(定义索引从其开始)和limit
(定义要返回的元素数)。所以现在查询将是:
users(start: 0, limit: 2) {
firstName
}
这将按预期返回前两个名称:
{
"data": {
"users": [
{
"firstName": "Arnold"
},
{
"firstName": "Bill"
}
]
}
}
但是,如果我想要最后2个用户在这里,即 Bill 和 Vin ,该怎么办?应该很简单:
users(start: 1, limit: 2){
firstName
}
但是,这仍然会返回 Arnold 和 Bill ,而您期望以下内容:
{
"data": {
"users": [
{
"firstName": "Bill"
},
{
"firstName": "Vin"
}
]
}
}
无论我为start
使用什么值,它总是从第0个项目开始。您可以执行start: 200
(当users
集合中只有3个项目时),它仍然会返回完全相同的结果!这是什么法术?
可以在https://dev.schandillia.com/graphql上重现该问题。