Gatsby/GraphQL如何对整数字段进行数字排序而不是字母排序?
我正在建立一个盖茨比网站(v2.24.47),在那里我从一个CSV文件中提取数据,其中包含关于书中页面的信息。这是使用Gatsby/GraphQL如何对整数字段进行数字排序而不是字母排序?,graphql,gatsby,Graphql,Gatsby,我正在建立一个盖茨比网站(v2.24.47),在那里我从一个CSV文件中提取数据,其中包含关于书中页面的信息。这是使用gatsby transformer csv加载的,我使用自定义模式确保将列page_num转换为Int-类型字段。但盖茨比似乎是在按字母顺序排列,而不是按数字顺序排列。例如,如果我查询第12页之后的所有页面,它包括第8页和第9页,实际上,对页面进行排序也会按字母顺序返回它们。我需要这些页面按数字排序。有没有办法做到这一点 任何帮助都将不胜感激。我在下面列出了一个最小的例子 g
gatsby transformer csv
加载的,我使用自定义模式确保将列page_num
转换为Int
-类型字段。但盖茨比似乎是在按字母顺序排列,而不是按数字顺序排列。例如,如果我查询第12页之后的所有页面,它包括第8页和第9页,实际上,对页面进行排序也会按字母顺序返回它们。我需要这些页面按数字排序。有没有办法做到这一点
任何帮助都将不胜感激。我在下面列出了一个最小的例子
gatsby config.js
{
"data": {
"allPagesCsv": {
"nodes": [
{
"page_num": 8
},
{
"page_num": 9
},
{
"page_num": 13
},
{
"page_num": 14
}
]
}
},
"extensions": {}
}
module.exports={
插件:[
{
解析:`gatsby源文件系统`,
选项:{
路径:`${uuuu dirname}/data/`,
}
},
`盖茨比变压器`
],
}
gatsby node.js
{
"data": {
"allPagesCsv": {
"nodes": [
{
"page_num": 8
},
{
"page_num": 9
},
{
"page_num": 13
},
{
"page_num": 14
}
]
}
},
"extensions": {}
}
exports.createSchemaCustomization=({actions,schema})=>{
const{createTypes}=actions
创建类型(`
类型PagesCsv实现节点@dontInfer{
页码:Int
}
`)
}
数据/页面.csv
page_num
8
9
10
11
12
13
14
GraphQL查询(在GraphiQL中)
返回
{
"data": {
"allPagesCsv": {
"nodes": [
{
"page_num": 8
},
{
"page_num": 9
},
{
"page_num": 13
},
{
"page_num": 14
}
]
}
},
"extensions": {}
}
类似地,查询allPagesCsv(排序:{fields:page_num})
将按字母顺序10、11、12、13、14、8、9返回页面