# Interface: Query\<C, I\>

Defined in: [packages/core/src/query/types.ts:139](https://github.com/leifriksheim/minca/blob/main/core/src/query/types.ts#L139)

A query. With a typed collection (a definition made with `collection()`,
or a [Typed](https://minca.dev/api/core/interfaces/Typed.md) name), `where` and `sort` are typed from it: its body's
fields, its link roles and its computed fields, each with its value's type.

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| <a id="type-parameter-c"></a> `C` *extends* [`CollectionRef`](https://minca.dev/api/core/type-aliases/CollectionRef.md) | [`CollectionRef`](https://minca.dev/api/core/type-aliases/CollectionRef.md) |
| <a id="type-parameter-i"></a> `I` *extends* [`IncludeMap`](https://minca.dev/api/core/type-aliases/IncludeMap.md) \| `undefined` | [`IncludeMap`](https://minca.dev/api/core/type-aliases/IncludeMap.md) \| `undefined` |

## Properties

| Property | Modifier | Type | Description | Defined in |
| ------ | ------ | ------ | ------ | ------ |
| <a id="property-collection"></a> `collection` | `readonly` | `C` | By name, or a reference that carries its records' type (see [CollectionRef](https://minca.dev/api/core/type-aliases/CollectionRef.md)) | [packages/core/src/query/types.ts:144](https://github.com/leifriksheim/minca/blob/main/core/src/query/types.ts#L144) |
| <a id="property-cursor"></a> `cursor?` | `readonly` | `string` | From the previous page's `cursor` | [packages/core/src/query/types.ts:151](https://github.com/leifriksheim/minca/blob/main/core/src/query/types.ts#L151) |
| <a id="property-include"></a> `include?` | `readonly` | `I` | - | [packages/core/src/query/types.ts:146](https://github.com/leifriksheim/minca/blob/main/core/src/query/types.ts#L146) |
| <a id="property-limit"></a> `limit?` | `readonly` | `number` | - | [packages/core/src/query/types.ts:149](https://github.com/leifriksheim/minca/blob/main/core/src/query/types.ts#L149) |
| <a id="property-sort"></a> `sort?` | `readonly` | [`SortOf`](https://minca.dev/api/core/type-aliases/SortOf.md)\<`C`\> | Fields to sort by, in order: `{ done: 'asc', '@createdAt': 'desc' }`. Ties always break on the key. | [packages/core/src/query/types.ts:148](https://github.com/leifriksheim/minca/blob/main/core/src/query/types.ts#L148) |
| <a id="property-where"></a> `where?` | `readonly` | [`FilterOf`](https://minca.dev/api/core/type-aliases/FilterOf.md)\<`C`\> | - | [packages/core/src/query/types.ts:145](https://github.com/leifriksheim/minca/blob/main/core/src/query/types.ts#L145) |
