> ## 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: GenericDatabaseReader<DataModel>

> Not exported: an exported type refers to it.

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

Not exported: an exported type refers to it.

## Type parameters

| Name | Type |
| :- | :- |
| `DataModel` | extends [`GenericDataModel`](/api/modules/browser#genericdatamodel) |

## Hierarchy

* [`BaseDatabaseReader`](/api/interfaces/browser.BaseDatabaseReader)\<`DataModel`>

  ↳ **`GenericDatabaseReader`**

## Properties

### system

• **system**: [`BaseDatabaseReader`](/api/interfaces/browser.BaseDatabaseReader)\<[`SystemDataModel`](/api/interfaces/browser.SystemDataModel)>

## Methods

### get

▸ **get**\<`TableName`, `Fields`>(`table`, `id`, `options`): `Promise`\<`null` | [`SelectedDocument`](/api/modules/browser#selecteddocument)\<[`DocumentByName`](/api/modules/browser#documentbyname)\<`DataModel`, `TableName`>, `Fields`>>

#### Type parameters

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

#### Parameters

| Name | Type |
| :- | :- |
| `table` | `TableName` |
| `id` | [`TableKey`](/api/modules/browser#tablekey)\<`DataModel`, [`NonUnion`](/api/modules/browser#nonunion)\<`TableName`>> |
| `options` | `Object` |
| `options.select` | readonly `Fields`\[] |

#### Returns

`Promise`\<`null` | [`SelectedDocument`](/api/modules/browser#selecteddocument)\<[`DocumentByName`](/api/modules/browser#documentbyname)\<`DataModel`, `TableName`>, `Fields`>>

#### Inherited from

[BaseDatabaseReader](/api/interfaces/browser.BaseDatabaseReader).[get](/api/interfaces/browser.BaseDatabaseReader#get)

▸ **get**\<`TableName`>(`table`, `id`): `Promise`\<`null` | [`DocumentByName`](/api/modules/browser#documentbyname)\<`DataModel`, `TableName`>>

#### Type parameters

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

#### Parameters

| Name | Type |
| :- | :- |
| `table` | `TableName` |
| `id` | [`TableKey`](/api/modules/browser#tablekey)\<`DataModel`, [`NonUnion`](/api/modules/browser#nonunion)\<`TableName`>> |

#### Returns

`Promise`\<`null` | [`DocumentByName`](/api/modules/browser#documentbyname)\<`DataModel`, `TableName`>>

#### Inherited from

[BaseDatabaseReader](/api/interfaces/browser.BaseDatabaseReader).[get](/api/interfaces/browser.BaseDatabaseReader#get)

▸ **get**\<`TableName`>(`id`): `Promise`\<`null` | [`DocumentByName`](/api/modules/browser#documentbyname)\<`DataModel`, `TableName`>>

#### Type parameters

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

#### Parameters

| Name | Type |
| :- | :- |
| `id` | [`Id`](/api/modules/browser#id)\<`TableName`> |

#### Returns

`Promise`\<`null` | [`DocumentByName`](/api/modules/browser#documentbyname)\<`DataModel`, `TableName`>>

#### Inherited from

[BaseDatabaseReader](/api/interfaces/browser.BaseDatabaseReader).[get](/api/interfaces/browser.BaseDatabaseReader#get)

***

### query

▸ **query**\<`TableName`>(`tableName`): [`SelectableQueryInitializer`](/api/interfaces/browser.SelectableQueryInitializer)\<[`NamedTableInfo`](/api/modules/browser#namedtableinfo)\<`DataModel`, `TableName`>>

#### Type parameters

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

#### Parameters

| Name | Type |
| :- | :- |
| `tableName` | `TableName` |

#### Returns

[`SelectableQueryInitializer`](/api/interfaces/browser.SelectableQueryInitializer)\<[`NamedTableInfo`](/api/modules/browser#namedtableinfo)\<`DataModel`, `TableName`>>

#### Inherited from

[BaseDatabaseReader](/api/interfaces/browser.BaseDatabaseReader).[query](/api/interfaces/browser.BaseDatabaseReader#query)

***

### normalizeId

▸ **normalizeId**\<`TableName`>(`tableName`, `id`): `null` | [`TableKey`](/api/modules/browser#tablekey)\<`DataModel`, `TableName`>

#### Type parameters

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

#### Parameters

| Name | Type |
| :- | :- |
| `tableName` | `TableName` |
| `id` | `string` |

#### Returns

`null` | [`TableKey`](/api/modules/browser#tablekey)\<`DataModel`, `TableName`>

#### Inherited from

[BaseDatabaseReader](/api/interfaces/browser.BaseDatabaseReader).[normalizeId](/api/interfaces/browser.BaseDatabaseReader#normalizeid)


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