Data Modeling
January 5, 2025 1 min read
By Alex Morgan
astro data-modeling
Data Modeling
Markdown (Astro Content Collections)
---
title: "Post title"
author: "Jane"
tags: ["astro", "ssg"]
published: true
---
Content here
defineCollection({
schema: z.object({
title: z.string(),
tags: z.array(z.string())
})
})
Characteristics
- Flat, file-based
- Limited relations
- Compile-time validation
- Simple mental model
CMS (Sanity / Contentful)
{
title:string
author:reference(User)
categories:reference(Category[])
seo: {
title,
description,
image
}
}
Characteristics
- Deep relationships
- Graph-like content
- Rich blocks (portable text)
- Runtime filtering & queries