Documentation
Blog post from Sanity
The text provides an extensive overview of GROQ (Graph-Relational Object Queries), a query language used for querying JSON datasets, particularly within the Sanity content platform. It covers the execution of queries via various methods, such as using the JavaScript or PHP SDKs, and highlights common issues and tips for effective querying, like filtering non-null keys and handling API versioning. The text details query examples, including fetching all documents, filtering based on attributes like type and popularity, slicing operations, ordering results, and performing joins between documents. It discusses object projections, conditional queries, handling references, and using built-in functions like `count()`, `round()`, and `score()` for scoring and ranking documents. Additionally, it explains arithmetic operations and string concatenation within queries, emphasizing the importance of specifying an order when querying subsets to avoid default ordering pitfalls and ensuring queries execute as intended.