Claves naturales y búsquedas
Un registro puede direccionarse con una clave legible como about-us además de con su id. Las búsquedas añaden más claves únicas a un modelo, de modo que un handle o un SKU encuentra el registro en una sola consulta tipada.
Claves naturales
Una clave natural es una dirección opcional y legible para un registro, devuelta como _naturalKey. Es un único segmento seguro para URL formado por letras, dígitos, guiones, guiones bajos, puntos y virgulillas. Puedes leer un registro por su clave en GraphQL, el SDK y la CLI, y una lectura que no coincide con nada devuelve null. La clave siempre está disponible para filtrar y ordenar.
Colisiones y cambios de nombre
Fija la clave al crear el registro. Si otro registro del modelo ya la tiene, la creación sigue teniendo éxito y Fóir añade un sufijo (about-1, about-2), así que lee la clave de vuelta en la respuesta. Renombrar es una mutación aparte. Se rechaza cuando otro registro tiene la nueva clave, y el id del registro nunca cambia.
Búsquedas
Una búsqueda es una clave con nombre adicional en un modelo, declarada en tu archivo de configuración con keyBy. Cada una genera una consulta tipada que devuelve un registro o null: una búsqueda por el SKU de un producto te da productBySku. Una búsqueda puede combinar hasta cuatro campos, y un modelo puede tener hasta cuatro búsquedas. Los campos deben ser campos de nivel superior de tipo texto, entero, decimal, booleano o enum.
Una consulta de búsqueda coincide con el valor de la variante que se sirve a quien llama, y admite un locale como argumento.
Unicidad y relleno
Las búsquedas son únicas e indexadas. Guardar un registro cuyo valor de búsqueda colisiona con el de otro se rechaza, y el error nombra el modelo, la búsqueda y sus campos. La consola señala el conflicto en línea.
Añadir una búsqueda a un modelo que ya tiene registros la rellena al subir. Si los registros existentes tienen valores duplicados, la subida se detiene y la búsqueda no se añade.
Lee el detalle
La guía de búsquedas cubre cómo declarar una búsqueda, la consulta que genera, las claves compuestas y los errores de conflicto.