Налаштування GROQ-запитів для Sanity

Наша компанія займається розробкою, підтримкою та обслуговуванням сайтів будь-якої складності. Від простих односторінкових сайтів до масштабних кластерних систем, побудованих на мікро сервісах. Досвід розробників підтверджено сертифікатами від вендорів.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Пропоновані послуги
Показано 1 з 1 послугУсі 2065 послуг
Налаштування GROQ-запитів для Sanity
Середня
від 1 робочого дня до 3 робочих днів
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    874
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851

Налаштування GROQ-запитів для Sanity

GROQ (Graph-Relational Object Queries) — мова запитів Sanity. Не REST, не SQL, не GraphQL. Гнучкіша за REST для складних структур: проекції, join через ->, умовні вибірки, агрегації — все в одному запиті без проблем N+1.

Базовий синтаксис

// Усі документи post
*[_type == "post"]

// З умовою
*[_type == "post" && status == "published"]

// Сортування та пагінація
*[_type == "post"] | order(publishedAt desc) [0...10]

// Проекція — вибрати конкретні поля
*[_type == "post"] {
  _id,
  title,
  "slug": slug.current,
  publishedAt
}

Resolve (join через ->)

// Заповнити пов'язані документи
*[_type == "post"] {
  title,
  "author": author->{ name, avatar },
  "categories": categories[]->{ title }
}

Умовні проекції

// Різні поля залежно від _type (для динамічних зон)
*[_type == "page"] {
  title,
  "sections": sections[] {
    _type,
    _type == "hero" => { heading, image },
    _type == "textBlock" => { content }
  }
}

Параметризовані запити

const query = `*[_type == "post" && slug.current == $slug][0] { title }`
const post = await client.fetch(query, { slug: 'my-post' })

Агрегації

// Кількість опублікованих статей
count(*[_type == "post" && status == "published"])

// Унікальні значення
array::unique(*[_type == "post"].status)

Повнотекстовий пошук

*[_type == "post" && [title, pt::text(body)] match $q]

Терміни

Розробка GROQ запитів для 4–6 типів сторінок — 1–2 дні.