我有一个包含posts 的数据集,其中可能有一系列类别。
如何进行 GROQ 查询来选择标题为“Page”的类别的所有帖子?
我想我可以做这样的事情:
*[_type == 'post' && categories[]->title == 'Page']{
body,
slug,
}
Run Code Online (Sandbox Code Playgroud)
我可能需要使用函数在数组内进行匹配,但清单对我来说太密集了 - 我只是找不到它。
我的数据集的要点是:
*[_type == 'post' && categories[]->title == 'Page']{
body,
slug,
}
Run Code Online (Sandbox Code Playgroud)
一个简单的查询:
*[_type == 'post']{
// body,
"category": categories[]->title,
// slug,
categories
}
Run Code Online (Sandbox Code Playgroud)
返回:
{
categories: [],
category: []
}
{
categories: [
{
_key: "491c03573205",
_ref: "e84d78f0-81ed-4524-9c36-f38a1f1b2375",
_type: "reference"
}
],
category: [
Page
]
}
Run Code Online (Sandbox Code Playgroud)
根据联接文档,您可以在 GROQ 过滤器中使用内部联接。我认为这应该适合您,前提是您的类别文档是_type: "category":
*[_type == 'post' &&
*[_type == "category" &&
title == "Page"][0]._id in categories[]._ref]{
body,
slug,
}
Run Code Online (Sandbox Code Playgroud)
希望这能解决您的问题!
| 归档时间: |
|
| 查看次数: |
2040 次 |
| 最近记录: |