Gatsby GraphiQL排序导致错误“;无法读取属性';地图';“未定义”的定义;
我使用GraphiQL中的查询从CMS的Strapi中提取数据。一切正常,如下所示:Gatsby GraphiQL排序导致错误“;无法读取属性';地图';“未定义”的定义;,gatsby,Gatsby,我使用GraphiQL中的查询从CMS的Strapi中提取数据。一切正常,如下所示: query MyQuery { allStrapiPortfolioPages { nodes { order } } } query MyQuery { allStrapiPortfolioPages(sort: {order: ASC}) { nodes { order } } } 答复如下: { "data"
query MyQuery {
allStrapiPortfolioPages {
nodes {
order
}
}
}
query MyQuery {
allStrapiPortfolioPages(sort: {order: ASC}) {
nodes {
order
}
}
}
答复如下:
{
"data": {
"allStrapiPortfolioPages": {
"nodes": [
{
"order": 1
},
{
"order": 2
},
{
"order": 3
}
]
}
},
"extensions": {}
}
我尝试将数据分类如下:
query MyQuery {
allStrapiPortfolioPages {
nodes {
order
}
}
}
query MyQuery {
allStrapiPortfolioPages(sort: {order: ASC}) {
nodes {
order
}
}
}
这将导致消息错误:“无法读取未定义的属性‘map’”
如何在查询中对这些节点进行排序?您的查询应该如下所示:
query MyQuery {
allStrapiPortfolioPages(
sort: {
fields: [order]
order: ASC
}) {
nodes {
order
}
}
}
请注意,您缺少该字段(order
)。在您的例子中,这有点棘手,因为名称本身是在GraphQL中对查询排序的方式,但一般来说,您必须提供字段和排序顺序
如需进一步参考,请查看