<!-- Do not edit this file. It is automatically generated by API Documenter. -->

[Home](./index.md) &gt; [@firebase/database](./database.md) &gt; [endBefore](./database.endbefore.md)

## endBefore() function

Creates a `QueryConstraint` with the specified ending point (exclusive).

Using `startAt()`<!-- -->, `startAfter()`<!-- -->, `endBefore()`<!-- -->, `endAt()` and `equalTo()` allows you to choose arbitrary starting and ending points for your queries.

The ending point is exclusive. If only a value is provided, children with a value less than the specified value will be included in the query. If a key is specified, then children must have a value lesss than or equal to the specified value and a a key name less than the specified key.

<b>Signature:</b>

```typescript
export declare function endBefore(value: number | string | boolean | null, key?: string): QueryConstraint;
```

## Parameters

|  Parameter | Type | Description |
|  --- | --- | --- |
|  value | number \| string \| boolean \| null | The value to end before. The argument type depends on which <code>orderBy*()</code> function was used in this query. Specify a value that matches the <code>orderBy*()</code> type. When used in combination with <code>orderByKey()</code>, the value must be a string. |
|  key | string | The child key to end before, among the children with the previously specified priority. This argument is only allowed if ordering by child, value, or priority. |

<b>Returns:</b>

[QueryConstraint](./database.queryconstraint.md)

