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

[Home](./index.md) &gt; [@firebase/database](./database.md) &gt; [QueryConstraint](./database.queryconstraint.md)

## QueryConstraint class

A `QueryConstraint` is used to narrow the set of documents returned by a Database query. `QueryConstraint`<!-- -->s are created by invoking [endAt()](./database.endat.md)<!-- -->, [endBefore()](./database.endbefore.md)<!-- -->, [startAt()](./database.startat.md)<!-- -->, [startAfter()](./database.startafter.md)<!-- -->, [limitToFirst()](./database.limittofirst.md)<!-- -->, [limitToLast()](./database.limittolast.md)<!-- -->, [orderByChild()](./database.orderbychild.md)<!-- -->, [orderByChild()](./database.orderbychild.md)<!-- -->, [orderByKey()](./database.orderbykey.md) , [orderByPriority()](./database.orderbypriority.md) , [orderByValue()](./database.orderbyvalue.md) or [equalTo()](./database.equalto.md) and can then be passed to [query()](./database.query.md) to create a new query instance that also contains this `QueryConstraint`<!-- -->.

<b>Signature:</b>

```typescript
export declare abstract class QueryConstraint 
```

## Properties

|  Property | Modifiers | Type | Description |
|  --- | --- | --- | --- |
|  [type](./database.queryconstraint.type.md) |  | [QueryConstraintType](./database.queryconstrainttype.md) | The type of this query constraints |

