Database.firstWhere()

Gets the first Database collection document that matches a provided predicate.

Signature

Database.firstWhere(predicate: () => Boolean)): <Document> | NullDatabaseDef

Database.firstWhere(predicate: (val: DatabaseDef) => Boolean)): <Document> | NullDatabaseDef

Description

The Database.firstWhere() method gets the first Database collection document that match a provided predicate.

If the predicate is true for a Database document, the document is included in the set. Otherwise, the document is excluded.

Scope

The Database collection only contains documents for the direct child databases of the database scoped to your authentication secret. You can’t use the Database collection to access parent, peer, or other descendant databases.

If you use an authentication secret scoped to an account’s top-level context, the Database collection contains documents for the account’s top-level databases. You can create a top-level secret using the fauna cloud-login command.

Parameters

Parameter Type Required Description

predicate

Function

Yes

Anonymous function that compares values in each database document and returns true for matches or false if there is no match.

predicate parameters:

Parameter Type Required Description

val

DatabaseDef

Database singleton to compare. If omitted, use dot notation to access database properties.

Return value

One of:

Type Description

DatabaseDef

First accessible database document matching the predicate function.

NullDatabaseDef

No database matches the predicate function or all matching databases are inaccessible.

Examples

Database.firstWhere(.name.includes("child"))
{
  name: "childDB",
  coll: Database,
  ts: Time("2099-06-24T21:54:38.890Z"),
  typechecked: true,
  global_id: "ysjpykbahyyr1",
  priority: 10
}
Database.firstWhere(childDB => childDB.priority > 5)
{
  name: "childDB",
  coll: Database,
  ts: Time("2099-06-24T21:54:38.890Z"),
  typechecked: true,
  global_id: "ysjpykbahyyr1",
  priority: 10
}

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email docs@fauna.com

Thank you for your feedback!