我正在使用这个Gatsby JS插件来探索DatoCMS GraphQL API https://github.com/datocms/gatsby-source-datocms,在dato文档中它说您可以按位置在cms https://www.datocms.com/docs/content-delivery-api/ordering/中排序
我基本上想保留cms中的顺序,而不是基于日期的顺序。
在dato API资源管理器中,我可以按位置对帖子进行排序。
query MyQuery {
allProjects(orderBy: position_ASC) {
slug
}
}
但是在同一个查询中,盖茨比却暗示我在下面尝试过类似的操作,但是它给了我error Expected type SortOrderEnum, found position_ASC
query MyQuery {
allDatoCmsProject(sort: {order: position_ASC}) {
edges {
node {
slug
}
}
}
}
在gatsby插件中,语法略有不同。DatoCMS graphQL Explorer。这就是如果我想按特定字段对它进行订购,该插件希望我进行订购的方式。但是我找不到任何可以按元素在Dato cms中的位置进行排序的字段
{
allDatoCmsBlogPost(sort: { fields: [publicationDate], order: DESC }, limit: 5) {
edges {
node {
title
excerpt
publicationDate(formatString: "MM-DD-YYYY")
author {
name
avatar {
url
}
}
}
}
}
}
答案 0 :(得分:1)
当模型具有表的“可视化模式”时,将添加名为position
的属性。
我们可以使用此position
对记录进行排序,如下所示:
allDatoCmsProject(sort: { fields: [position], order: ASC }){
...
}