> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bijection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Interface: SelectableQuery<TableInfo>

> Not exported: an exported type refers to it.

[browser](/api/modules/browser).SelectableQuery

Not exported: an exported type refers to it.

## Type parameters

| Name | Type |
| :- | :- |
| `TableInfo` | extends [`GenericTableInfo`](/api/modules/browser#generictableinfo) |

## Hierarchy

* `Query`\<`TableInfo`>

* [`SelectableOrderedQuery`](/api/interfaces/browser.SelectableOrderedQuery)\<`TableInfo`>

  ↳ **`SelectableQuery`**

  ↳↳ [`SelectableQueryInitializer`](/api/interfaces/browser.SelectableQueryInitializer)

## Methods

### filter

▸ **filter**(`predicate`): [`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

#### Parameters

| Name | Type |
| :- | :- |
| `predicate` | (`q`: [`FilterBuilder`](/api/interfaces/browser.FilterBuilder)\<`TableInfo`>) => [`ExpressionOrValue`](/api/modules/browser#expressionorvalue)\<`boolean`> |

#### Returns

[`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

#### Inherited from

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[filter](/api/interfaces/browser.SelectableOrderedQuery#filter)

***

### limit

▸ **limit**(`n`): [`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

#### Parameters

| Name | Type |
| :- | :- |
| `n` | `number` |

#### Returns

[`SelectableQuery`](/api/interfaces/browser.SelectableQuery)\<`TableInfo`>

#### Inherited from

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[limit](/api/interfaces/browser.SelectableOrderedQuery#limit)

***

### paginate

▸ **paginate**(`paginationOpts`): `Promise`\<[`PaginationResult`](/api/interfaces/browser.PaginationResult)\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>>

#### Parameters

| Name | Type |
| :- | :- |
| `paginationOpts` | [`PaginationOptions`](/api/interfaces/browser.PaginationOptions) |

#### Returns

`Promise`\<[`PaginationResult`](/api/interfaces/browser.PaginationResult)\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>>

#### Inherited from

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[paginate](/api/interfaces/browser.SelectableOrderedQuery#paginate)

***

### collect

▸ **collect**(): `Promise`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>\[]>

#### Returns

`Promise`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>\[]>

#### Inherited from

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[collect](/api/interfaces/browser.SelectableOrderedQuery#collect)

***

### take

▸ **take**(`n`): `Promise`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>\[]>

#### Parameters

| Name | Type |
| :- | :- |
| `n` | `number` |

#### Returns

`Promise`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>\[]>

#### Inherited from

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[take](/api/interfaces/browser.SelectableOrderedQuery#take)

***

### first

▸ **first**(): `Promise`\<`null` | [`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>

#### Returns

`Promise`\<`null` | [`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>

#### Inherited from

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[first](/api/interfaces/browser.SelectableOrderedQuery#first)

***

### unique

▸ **unique**(): `Promise`\<`null` | [`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>

#### Returns

`Promise`\<`null` | [`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>>

#### Inherited from

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[unique](/api/interfaces/browser.SelectableOrderedQuery#unique)

***

### order

▸ **order**(`order`): [`SelectableOrderedQuery`](/api/interfaces/browser.SelectableOrderedQuery)\<`TableInfo`>

#### Parameters

| Name | Type |
| :- | :- |
| `order` | `"asc"` \| `"desc"` |

#### Returns

[`SelectableOrderedQuery`](/api/interfaces/browser.SelectableOrderedQuery)\<`TableInfo`>

#### Overrides

Query.order

***

### select

▸ **select**\<`Fields`>(`fields`): [`ProjectedQuery`](/api/interfaces/browser.ProjectedQuery)\<`TableInfo`, `Fields`>

#### Type parameters

| Name | Type |
| :- | :- |
| `Fields` | extends `string` |

#### Parameters

| Name | Type |
| :- | :- |
| `fields` | readonly `Fields`\[] |

#### Returns

[`ProjectedQuery`](/api/interfaces/browser.ProjectedQuery)\<`TableInfo`, `Fields`>

#### Overrides

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[select](/api/interfaces/browser.SelectableOrderedQuery#select)

***

### \[asyncIterator]

▸ **\[asyncIterator]**(): `AsyncIterator`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>, `any`, `undefined`>

#### Returns

`AsyncIterator`\<[`DocumentByInfo`](/api/modules/browser#documentbyinfo)\<`TableInfo`>, `any`, `undefined`>

#### Inherited from

[SelectableOrderedQuery](/api/interfaces/browser.SelectableOrderedQuery).[\[asyncIterator\]](/api/interfaces/browser.SelectableOrderedQuery#\[asynciterator])


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.