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.

IsDatabase

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

Copied!
IsDatabase( value )

Description

The IsDatabase function returns true only if value is a database document, otherwise it returns false.

Parameters

Parameter Type Definition and Requirements

value

Any

Any value, which is to be tested to determine whether it is a database document or not.

Returns

Returns a Boolean, indicating whether value was a database document or not.

Examples

The following query uses Map to iterate over an array of all of the types of values that can be tested by a type-check function, passing each item into a Lambda function that returns an object, which contains the value and the result of calling IsDatabase with that value:

Copied!
Map(
  [
    ['array'],
    true,
    false,
    new Uint8Array([1, 2, 3, 4]),
    [0x1, 0x2, 0x3, 0x4],
    Collection('Letters'),
    Ref('credentials/self'),
    Database('child_db'),
    Date('2019-11-12'),
    Ref(Collection('Letters'), 123),
    10.1,
    Function('double'),
    Index('letters'),
    10,
    Ref(Keys(), '1'),
    Query(Lambda('x', Var('x'))),
    null,
    { x: 10 },
    Role('employees'),
    Match(Index('letters')),
    'ten',
    '10',
    Time('2020-07-06T12:34:56.789Z'),
    Ref(Tokens(), '1'),
  ],
  Lambda('x', {
    value: Var('x'),
    IsDatabase: IsDatabase(Var('x')),
  })
)
[
  { value: [ 'array' ], IsDatabase: false },
  { value: true, IsDatabase: false },
  { value: false, IsDatabase: false },
  { value: { '0': 1, '1': 2, '2': 3, '3': 4 }, IsDatabase: false },
  { value: [ 1, 2, 3, 4 ], IsDatabase: false },
  { value: Collection("Letters"), IsDatabase: false },
  {
    value: Ref(Credentials(), "302043979982045696"),
    IsDatabase: false
  },
  { value: Database("child_db"), IsDatabase: true },
  { value: Date("2019-11-12"), IsDatabase: false },
  { value: Ref(Collection("Letters"), "123"), IsDatabase: false },
  { value: 10.1, IsDatabase: false },
  { value: Function("double"), IsDatabase: false },
  { value: Index("letters"), IsDatabase: false },
  { value: 10, IsDatabase: false },
  { value: Ref(Keys(), "1"), IsDatabase: false },
  { value: Query(Lambda("x", Var("x"))), IsDatabase: false },
  { value: null, IsDatabase: false },
  { value: { x: 10 }, IsDatabase: false },
  { value: Role("employees"), IsDatabase: false },
  { value: Match(Index("letters")), IsDatabase: false },
  { value: 'ten', IsDatabase: false },
  { value: '10', IsDatabase: false },
  { value: Time("2020-07-06T12:34:56.789Z"), IsDatabase: false },
  { value: Ref(Tokens(), "1"), IsDatabase: false }
]
Query metrics:
  •    bytesIn:   604

  •   bytesOut: 1,631

  • computeOps:     2

  •    readOps:     0

  •   writeOps:     0

  •  readBytes:   373

  • writeBytes:     0

  •  queryTime:  21ms

  •    retries:     0

This query operates on a pre-existing schema, which is not provided here.

Also, the query is executed via a client connection, that uses a secret acquired by calling the Login function (not shown here), so that Ref("credentials/self") returns a valid value.

\