sanity-groq-filter

By Hans

Curated List of GROQ Filters.

Sanity GROQ Filter

Curated List of GROQ Filters.

Usage / Examples

Removes all references which are already present in the parent and returns only the unused references.

unusedReferences-Filter

import GroqFilter from "sanity-groq-filter"

export default {
    name: 'documentName',
    type: 'document',
    fields: [
        {
            name: 'fieldName',
            type: 'array',
            of: [
                {
                    type: 'reference',
                    to: { type: 'someReferencedType' },
                    options: { filter: GroqFilter.unusedReferences }
                }
            ],
            validation: Rule => Rule.unique()
        },
    ]
}

matches-Filter

Filters to include only documents with ${fieldName} containing the ${matchStr}.

import GroqFilter from "sanity-groq-filter"

export default {
    name: 'documentName',
    type: 'document',
    fields: [
        {
            name: 'fieldName',
            type: 'array',
            of: [
                {
                    type: 'reference',
                    to: { type: 'someReferencedType' },
                    options: { filter: GroqFilter.matches('myField', 'barbeque') }
                }
            ],
            validation: Rule => Rule.unique()
        },
    ]
}

excludes-Filter

Filters to exclude documents with ${fieldName} containing the ${matchStr}.

import GroqFilter from "sanity-groq-filter"
//...
                    options: { filter: GroqFilter.excludes('myField', 'barbeque') }
//...

Further Reading

Sanity documentation on filters

Install command

npm install sanity-groq-filter

Contributor

Hans

Technology enthusiast and huge fan of sanity.io

Hans is located at Stuttgart / Germany
Visit Hans's profile

Categorized in

Other plugins by author