我在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。
感谢您的阅读!
发布于 2021-02-15 12:58:13
不,我不相信有。
据我所知,您想要的是什么;模式是在studio实例中定义的,而不是在数据存储中定义的。这两者不是硬耦合的。我有几个使用一个项目/数据存储的模式变化很小的studio实例。您查询的获取数据的API不关心使用了哪个studio和模式,也不能够回答实际的模式细节。
https://stackoverflow.com/questions/65901665
复制相似问题