> From the [Strife developer docs](https://strife.app/docs/reference/field-reference/fields.collection). Every page is listed in [llms.txt](https://strife.app/docs/llms.txt).

# fields.collection()

Document-collection query picker — stores a filter/sort config, not resolved documents. Note the Studio-UI editor is marked obsolete.

A document-collection picker. Maps to editor `{ name: 'str-collection', type: 'collection' }`. Stores a query-config object — which collection, its filters, sort, and `take` — surfaced as the canonical `CollectionDefinition`, **not** a resolved array of documents. The consuming app runs the query at render time.

> [!WARNING]
> **Check before using this in new schemas.** The Studio-UI Collection editor is currently marked obsolete/no-longer-supported in the Strife Studio field reference, even though `@strifeapp/schema` still fully implements `fields.collection()` and the underlying wire format/template support is unchanged. If you're starting something new, confirm with the team whether `fields.collection()` is still the intended way to build a query-driven list before relying on it — this page documents what the builder does today, not whether it's the currently recommended approach.

## Example

```ts
fields.collection({
  label: 'Latest posts',
  includeAllCollections: false,
})
```

## Options

| Option                  | Type      | Required | Description                                                                                                                                 |
| ----------------------- | --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `label`                 | `string`  | Yes      | Label shown to editors in Strife Studio.                                                                                                    |
| `description`           | `string`  | No       | Tooltip shown to editors.                                                                                                                   |
| `searchable`            | `boolean` | No       | Include in the team's search index.                                                                                                         |
| `filterable`            | `boolean` | No       | Allow filtering content lists by this value.                                                                                                |
| `protected`             | `boolean` | No       | Restrict editing to users with the appropriate permission.                                                                                  |
| `propertyName`          | `string`  | No       | Override the stored property name.                                                                                                          |
| `includeAllCollections` | `boolean` | No       | When `true`, the editor's collection picker offers every raw RavenDB collection. Default (`false`) restricts it to document templates only. |

No `localizable` option.

## Output type

`CollectionDefinition` (the query config — collection name, filters, sort, `take`). Your frontend/SDK runs this query to get actual documents; the field itself never stores resolved content.

## See also

* [Collection](https://strife.app/docs/reference/fields/collection.md) — the same editor, documented from the Strife Studio UI side (marked obsolete there).
