The Fauna service will be ending on May 30, 2025.

For more information on the service wind down, see our announcement and the Fauna Service End-of-Life FAQ.

Roles

This reference topic applies to FQL v4. Go to this page for the latest FQL v10 reference topics.

Copied!
Roles( [database] )

Description

The Roles function, when executed with Paginate, returns an Array of References for user-defined roles in the specified child database. If a child database is not specified, the role references returned all belong to the current database.

When a child database is specified, an admin key must be used to call Roles (server or client keys, or ABAC tokens, cannot be used to access a child database).

Parameters

Parameter Type Definition and requirements

database

Reference

Optional - A Reference to a child database. If not specified, the current database is used.

Returns

An Set Reference for the available user-defined roles in the specified child database (or the current database if database is not specified).

Examples

  1. The following query lists any user-defined roles (up to the pagination limit) in the current database:

    Copied!
    Paginate(Roles())
    { data: [ Role("employees") ] }
    Query metrics:
    •    bytesIn:   27

    •   bytesOut:   88

    • computeOps:    1

    •    readOps:    8

    •   writeOps:    0

    •  readBytes:  250

    • writeBytes:    0

    •  queryTime: 15ms

    •    retries:    0

  2. The following query lists the References for any user-defined roles (up to the pagination limit) in a child database named "child_db":

    Copied!
    Paginate(Roles(Database('child_db')))
    { data: [] }
    Query metrics:
    •    bytesIn:   46

    •   bytesOut:   24

    • computeOps:    1

    •    readOps:    8

    •   writeOps:    0

    •  readBytes:  363

    • writeBytes:    0

    •  queryTime: 14ms

    •    retries:    0

\