是否可以在 Sanity/GROQ 中查询文档架构元数据?
Is it possible to query document schema metadata in Sanity/GROQ?
我在我的 Sanity/NextJS 项目中定义了一个简单的单例文档架构,以模拟我的“Colophon”页面(richText
是自定义块字段类型):
export default {
title: 'Colophon',
name: 'colophon',
type: 'document',
__experimental_actions: ['update', 'publish'],
fields: [
{
title: 'Body',
name: 'body',
type: 'richText',
validation: Rule => Rule.required(),
},
],
};
我在我的 NextJS 应用程序中通过一个简单的查询检索了这个文档:
export async function getStaticProps() {
const colophon = await client.fetch(`
*[_type == "colophon"][0]
`);
// ...
};
是否可以编写 GROQ 查询来检索架构中定义的元标题,即Colophon
?虽然这是一个单例文档,但我想尽可能避免在我的项目中重复这个字符串。目前,我只能在结果中看到文档中的字段,即 body
.
感谢阅读!
不,我不相信有。
据我了解您的需求; 模式是在工作室实例中定义的,而不是数据存储区中定义的。这两个不是硬耦合的。我有几个工作室实例,使用一个 project/datastore 在模式上有小的变化。您查询以获取数据的 API 不关心使用了哪个工作室和架构,也无法回答实际架构的详细信息。
我在我的 Sanity/NextJS 项目中定义了一个简单的单例文档架构,以模拟我的“Colophon”页面(richText
是自定义块字段类型):
export default {
title: 'Colophon',
name: 'colophon',
type: 'document',
__experimental_actions: ['update', 'publish'],
fields: [
{
title: 'Body',
name: 'body',
type: 'richText',
validation: Rule => Rule.required(),
},
],
};
我在我的 NextJS 应用程序中通过一个简单的查询检索了这个文档:
export async function getStaticProps() {
const colophon = await client.fetch(`
*[_type == "colophon"][0]
`);
// ...
};
是否可以编写 GROQ 查询来检索架构中定义的元标题,即Colophon
?虽然这是一个单例文档,但我想尽可能避免在我的项目中重复这个字符串。目前,我只能在结果中看到文档中的字段,即 body
.
感谢阅读!
不,我不相信有。
据我了解您的需求; 模式是在工作室实例中定义的,而不是数据存储区中定义的。这两个不是硬耦合的。我有几个工作室实例,使用一个 project/datastore 在模式上有小的变化。您查询以获取数据的 API 不关心使用了哪个工作室和架构,也无法回答实际架构的详细信息。