是否可以在 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 不关心使用了哪个工作室和架构,也无法回答实际架构的详细信息。