graphql - prismic - 如何根据长度或 NOT NULL 进行 qgl 选择
问题描述
由于 prismic 没有必填字段的概念,我们最终可能会得到 null 而不是 data。
我正在寻找一种在 gatsby 应用程序中提取棱镜数据的方法,过滤掉不需要的实体。
SQL 理念
SELECT *
FROM allPrismicAnnouncement
WHERE quote IS NOT NULL;
我使用的实际 gql
export const query = graphql`
query AnnouncementCardQuery {
allPrismicAnnouncement(sort: {order: DESC, fields: data___date}) {
edges {
node {
uid
id
data {
quote {
text
}
subtitle1 {
text
}
}
}
}
}
}
`
如何使用过滤器,包含或类似的方法来过滤掉没有引用的文章。选项 2 - 忽略长度小于 100 个字符的所有引号
解决方案
这个问题在棱镜社区论坛上有答案
是的,您可以使用 ne运算符;用Prismic fields过滤响应。
我正在使用allPrismicBlogpost
并且有类似的查询和问题。我认为这样的事情对你有用(将排序更改为first_publication_date
)。
export const query = graphql`
query AnnouncementCardQuery {
allPrismicAnnouncement(filter: {data: {quote: {text: {ne: null}}}}, sort: { order: DESC, fields: first_publication_date}) {
edges {
node {
uid
id
data {
quote {
text
}
subtitle1 {
text
}
}
}
}
}
}
`
推荐阅读
- c++ - sklearn.linear_model 的 linear_model.LinearRegression() 的 dlib 实现
- database - 通过命令行检查 Solr 索引是否为空
- java - 如何对字符串数组列表中的两个数字进行数学表达式
- geolocation - 将 geohash 转换为 lat lon 值
- mysql - 尽管一切都按预期工作,但重复输入
- amazon-web-services - 代码的对流层 dynamodb 语法
- html - 无法修复两侧 div 响应式固定
- mongodb - mongodb c驱动程序在macOS上安装失败
- php - 我怎么知道十六进制颜色是否为蓝色?
- eclipse - Webdriver 是否支持在驱动程序实例中设置代理?无法使用所需功能在驱动程序中设置代理