我有以下GraphQL查询:
export const query = graphql`
query NewsQuery($slug: String!) {
datoCmsNews(slug: { eq: $slug }) {
id
title
description
slug
meta {
publishedAt
}
cover {
fluid(maxHeight: 530) {
...GatsbyDatoCmsSizes
}
}
}
allDatoCmsNews(sort: { fields: [meta___publishedAt], order: DESC }, limit: 4) {
edges {
node {
id
title
slug
meta {
publishedAt
isValid
status
}
cover {
fluid(maxHeight: 375) {
...GatsbyDatoCmsSizes
}
}
}
}
}
}
`;
在我的allDatoCmsNews
查询中,如何对$slug
等于当前子弹的新闻项进行排序/过滤?如果当前正在查看新闻,我不想显示新闻。我猜我将不得不使用neq
来解决正确的语法。
谢谢
答案 0 :(得分:0)
使用filter
相当简单:
allDatoCmsNews(sort: { fields: [meta___publishedAt], order: DESC }, limit: 4, filter: {slug: {ne: $slug}})