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

# Colecciones

> Crea y configura colecciones para organizar tus datos con campos tipados, validaciones e índices

Una **colección** es el equivalente a una tabla en una base de datos tradicional. Cada colección tiene campos (columnas) con tipos de datos específicos y almacena registros (filas) que puedes crear, buscar, editar y eliminar.

## Crear una colección

<Frame caption="Formulario para crear una nueva colección con campos por defecto">
  <img src="https://mintcdn.com/jelouai/daUUvITM1J6ByU2U/assets/images/datum/new-collection.png?fit=max&auto=format&n=daUUvITM1J6ByU2U&q=85&s=3b659bfc208f0567737b375c27a33536" alt="Diálogo de Create Collection con nombre, tipo Base, campos id/created/updated y opción de crear índices" width="3024" height="1730" data-path="assets/images/datum/new-collection.png" />
</Frame>

<Steps>
  <Step title="Haz clic en + New collection">
    En la barra lateral izquierda, haz clic en el botón **+ New collection** ubicado en la parte inferior del panel de colecciones.
  </Step>

  <Step title="Configura los datos básicos">
    Completa los siguientes campos:

    * **Name** — Nombre de la colección (obligatorio, ej. "clientes", "productos")
    * **Type** — Tipo de colección: **Base** (por defecto) o **Vista (solo lectura)**.
  </Step>

  <Step title="Agrega campos">
    Toda colección nueva incluye tres campos automáticos:

    * **id** — Identificador único del registro (generado automáticamente)
    * **created** — Fecha de creación del registro (Autodate)
    * **updated** — Fecha de última actualización (Autodate)

    Haz clic en **+ New field** para agregar tus propios campos.
  </Step>

  <Step title="Crea la colección">
    Haz clic en **Create** para confirmar.
  </Step>
</Steps>

## Tipos de campo

Cada campo tiene un tipo que determina qué datos puede almacenar y qué validaciones se aplican:

| Tipo         | Descripción                                                                             |
| ------------ | --------------------------------------------------------------------------------------- |
| **Text**     | Cadenas de texto (máximo 5000 caracteres por defecto)                                   |
| **Editor**   | Texto enriquecido con formato (negritas, listas, enlaces, etc.)                         |
| **Number**   | Valores numéricos (enteros o decimales)                                                 |
| **Boolean**  | Valores verdadero/falso                                                                 |
| **Email**    | Direcciones de correo electrónico con validación de formato                             |
| **URL**      | URLs con validación de formato                                                          |
| **Date**     | Fecha y hora que el usuario define manualmente en cada registro                         |
| **Autodate** | Fecha y hora asignada automáticamente por el sistema (ej. campos `created` y `updated`) |
| **Select**   | Selección de una opción de una lista predefinida                                        |
| **Relation** | Referencia a registros de otra colección                                                |
| **File**     | Archivos adjuntos                                                                       |
| **JSON**     | Datos estructurados en formato JSON                                                     |
| **GeoPoint** | Coordenadas geográficas (latitud y longitud)                                            |
| **Password** | Texto enmascarado para almacenar contraseñas o secretos                                 |

## Configurar campos

Haz clic en el ícono de engranaje (⚙) de cualquier campo para ver sus opciones de configuración. Las opciones varían según el tipo de campo.

Para campos de tipo **Text**:

* **Min length / Max length** — Longitud mínima y máxima del texto (máximo 5000 caracteres por defecto)
* **Validation pattern** — Expresión regular para validar el formato (ej. `^[a-z0-9]+$`)
* **Nonempty** — Marca el campo como obligatorio
* **Hidden** — Oculta el campo en la interfaz de usuario.
* **Presentable** — Marca el campo como campo representativo del registro

<Warning>
  Puedes cambiar el tipo de un campo existente desde el dropdown del tipo en la configuración de la colección. Ten en cuenta que cambiar el tipo puede afectar datos existentes.
</Warning>

### Opciones por tipo de campo

Cada tipo de campo ofrece sus propias opciones de configuración:

<AccordionGroup>
  <Accordion title="Number" icon="hashtag">
    **Solo enteros** (rechaza decimales) y valores mínimo/máximo.
  </Accordion>

  <Accordion title="Select" icon="list-check">
    Lista de opciones permitidas (al menos una). Puedes habilitar **selección múltiple**, que requiere un mínimo de 2 opciones.
  </Accordion>

  <Accordion title="File" icon="paperclip">
    Tamaño máximo por archivo, archivo único o múltiple, y tipos permitidos mediante presets (Imágenes, Audio, Video, Comprimidos, Documentos).
  </Accordion>

  <Accordion title="Relation" icon="link">
    Colección relacionada y selección única o múltiple. También puedes definir qué ocurre cuando se elimina un registro relacionado.
  </Accordion>

  <Accordion title="Password" icon="key">
    Configura la longitud máxima y las opciones de seguridad para proteger los valores almacenados.
  </Accordion>

  <Accordion title="Email / URL" icon="at">
    Dominios permitidos o excluidos para validar el valor.
  </Accordion>

  <Accordion title="Date / Autodate" icon="calendar">
    **Date**: fecha mínima y máxima. **Autodate**: define cuándo se asigna automáticamente — al **Crear**, al **Actualizar** o en ambos.
  </Accordion>

  <Accordion title="Editor" icon="pen">
    Tamaño máximo del contenido.
  </Accordion>
</AccordionGroup>

## Reordenar campos

Haz clic en **Reorder fields** dentro de la configuración de la colección para cambiar el orden en que se muestran los campos en la tabla y en los formularios.

## Índices y restricciones únicas

En la parte inferior de la configuración de la colección encontrarás la sección **Unique constraints and indexes**. Los índices mejoran el rendimiento de las consultas en campos que se filtran o buscan frecuentemente.

Haz clic en **Create index** para agregar un nuevo índice a tu colección.

## Configuración de la colección

<Frame caption="Panel de configuración de la colección con lista de campos y tipos">
  <img src="https://mintcdn.com/jelouai/daUUvITM1J6ByU2U/assets/images/datum/collection-settings.png?fit=max&auto=format&n=daUUvITM1J6ByU2U&q=85&s=8f7870dc4ad44e2917691f49e3b625c6" alt="Panel Collection settings mostrando nombre, tipo, lista de campos con sus tipos y opciones de configuración" width="3024" height="1730" data-path="assets/images/datum/collection-settings.png" />
</Frame>

Haz clic en el ícono de engranaje (⚙) junto al nombre de la colección en la parte superior para acceder a la configuración completa. Desde aquí puedes:

* Renombrar la colección
* Agregar, editar o eliminar campos
* Reordenar campos
* Crear índices

El menú **⋯** en la esquina superior derecha de la configuración ofrece acciones adicionales:

* **Duplicar** — Crea una copia de la colección.
* **Vaciar** — Elimina todos los registros y conserva la estructura de la colección. No está disponible en vistas.
* **Eliminar** — Borra la colección por completo.

<Warning>
  **Vaciar** y **Eliminar** son irreversibles. Vaciar borra todos los registros; Eliminar borra además la colección y su estructura.
</Warning>
