Documentação Bando
Collections e fields
Aprende a definir a estrutura dos conteúdos que a tua aplicação vai armazenar.
O que é uma collection?
Uma collection define a estrutura de um tipo de conteúdo.
Se estás habituado a TypeScript, podes pensar nela inicialmente como uma definição que descreve quais dados um determinado tipo de conteúdo pode ter.
Num blog, por exemplo, podemos ter:
posts
Artigos publicados no blog.
Artigos publicados no blog.
authors
Pessoas que escrevem os artigos.
Pessoas que escrevem os artigos.
Definindo uma collection
import { boolean, defineCollection, text } from "bando-cms";
export const posts = defineCollection({
name: "posts",
description: "Artigos do blog",
fields: {
title: text({ required: true }),
slug: text({ required: true }),
content: text({ required: true }),
published: boolean(),
},
});
Entendendo o código
defineCollection() cria a definição da collection.
O name identifica a collection:
name: "posts"
O description explica o propósito da collection:
description: "Artigos do blog"
E fields define os campos que os documentos dessa collection podem possuir.
Fields
Um field é uma propriedade de um documento.
No nosso exemplo, um post possui título, slug, conteúdo e estado de publicação.
| Parâmetro | Tipo | Obrigatório | Por omissão | Descrição |
|---|---|---|---|---|
string / text | field | não | — | Campo destinado a valores de texto. |
boolean | field | não | — | Campo que representa verdadeiro ou falso. |
number | field | não | — | Campo destinado a valores numéricos. |
date | field | não | — | Campo de data. Aceita Date ou string. |
relation | field | não | — | Campo que guarda referência a outro documento. |
Campos obrigatórios
Quando escrevemos:
title: text({ required: true })
estamos dizendo que um documento não pode ser criado sem umtitle.