【发布时间】:2021-10-13 06:42:23
【问题描述】:
我有一个返回视频播放列表的页面查询。有些视频将“公开”设置为 true,有些则设置为 false。对于公共字段设置为 false 的视频,我不想在 Gatsby 发送到页面的有效负载中包含该视频的 URL,因为访问这些视频是付费的。
例子:
export const query = graphql`
query MyQuery {
courses: allSanityCourses {
nodes {
price
name
playlist {
title
url
public
}
}
}
}
`
以及它返回的数据:
[
{
"price": 149,
"name": "Master VS Code",
"playlist": [
{
"title": "Intro",
"url": "https://youtu.be/qwertyuiop",
"public": true
},
{
"title": "Principles Part 1",
"url": "https://youtu.be/poiuytrewq",
"public": false
}
]
}
]
如何防止 Gatsby 将第二个 URL(将 public 设置为 false)发送到页面?
我不确定Query Filters 是否有效,因为它们似乎只允许根据相同字段的内容过滤/删除字段。我需要的是根据 another 同级字段“public”过滤/删除 URL 字段。
【问题讨论】: