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.
authors
Pessoas que escrevem os artigos.

Definindo uma collection

collections/posts.ts
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:

TS
name: "posts"

O description explica o propósito da collection:

TS
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âmetroTipoObrigatórioPor omissãoDescrição
string / textfieldnãoCampo destinado a valores de texto.
booleanfieldnãoCampo que representa verdadeiro ou falso.
numberfieldnãoCampo destinado a valores numéricos.
datefieldnãoCampo de data. Aceita Date ou string.
relationfieldnãoCampo que guarda referência a outro documento.

Campos obrigatórios

Quando escrevemos:

TS
title: text({ required: true })

estamos dizendo que um documento não pode ser criado sem umtitle.

Entender documentos →
Collections e fields | Bando