Можно ли запросить метаданные схемы документа в 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.

Спасибо за чтение!


person BigglesZX    schedule 26.01.2021    source источник


Ответы (1)


Нет, не верю.

Насколько я понимаю, что вам нужно; Схема определяется в экземпляре студии, а не в хранилище данных. Эти двое не связаны жестко. У меня есть несколько экземпляров-студий с небольшими вариациями схем, использующих один проект / хранилище данных. API, который вы запрашиваете для получения данных, не заботится о том, какая студия и схема использовались, и не может ответить на фактические детали схемы.

person cfm    schedule 15.02.2021
comment
Спасибо - некоторые исследования, проведенные после публикации вопроса, подтверждают это. Полный экспорт хранилища данных (через конечную точку API или интерфейс командной строки) может содержать то, что Sanity называет системными документами, но они, по-видимому, ограничиваются такими данными, как конфигурация плагина. - person BigglesZX; 15.02.2021