REST from your database catalog
    DocumentationCheat sheetQuestionsDownloadSource
    Questions
    • How do I...?
    Start here
    • Getting started
    • What a table becomes
    • Compared with PostgREST
    Setting up
    • Tables, columns and relations
    • Security and hooks
    • Writes and procedures
    • Prefer: return=representation
    • Node, Fastify, Express
    Reading
    • select
    • /{key}
    • relation(...)
    • order
    • limit, offset
    • relation.order, .limit
    • count
    • count(), sum(), avg()...
    • "name"
    Filtering
    • eq, neq
    • gt, gte, lt, lte
    • in
    • like, ilike
    • match, imatch
    • is
    • ov, cs, cd
    • not
    • relation.column
    • or, and
    Databases
    • Supported databases
    • Adding a database
    Reference
    • Cheat sheet
    • Errors
    Filtering

    Null, true, false, empty

    Test for null, for a boolean value, or for a relation with no rows.

    owner_id=is.nullpinned=is.falsetags=is.empty

    is.null is the only way to find a missing value, since nothing equals null. is.true and is.false apply to boolean columns.

    On a to-many relation, is.empty keeps the rows with no related row at all, and not.is.empty the rows with at least one.

    Examples

    The todo nobody owns.
    /todos?select=name&owner_id=is.null

    Asking the database...

    Todos that are not pinned.
    /todos?select=name&pinned=is.false

    Asking the database...

    Todos without a single tag.
    /todos?select=name&tags=is.empty

    Asking the database...

    See alsoTurn a filter around Filter through a relation
    PreviousMatch a regular expressionNext Array overlap and containment
    restloom - a REST API generated from your database catalog
    DocumentationDownloadSource