本文最后更新于 2026年5月3日。
Directus 笔记分类正确做法:不要每个分类建一个 Collection
先给结论:
✅ 统一只建 1 个主笔记集合 notes
❌ 不要「生活笔记、技术笔记、随笔」各建一个 Collection,后期难维护、没法统一检索、前端没法通用。
一、标准架构(最推荐,通用可扩展)
只建 2 个 Collection 就搞定所有分类:
- notes(主笔记库)
- note_categories(分类目录)
1. note_categories 分类表
字段:
- id 主键
- name 分类名称(技术/生活/读书/工作)
- slug 分类别名(小写英文,用于路由)
- parent 父分类(支持二级分类,自关联)
- description 简介(可选)
2. notes 笔记主表
基础字段:
- title 标题
- content markdown正文
- slug 链接别名
- category 关联到 note_categories(多对一)
- tags 标签(原生标签字段)
- status 状态(草稿/已发布/归档)
- created_at / updated_at
- is_public 是否公开
二、两种分类模式怎么选
模式1:固定栏目分类(用「关联分类表」)
适合:技术笔记、生活、读书、工作这种大栏目
- 用
notes.category关联note_categories - 好处:后台下拉选择、可无限层级、改分类名不用改每条笔记
模式2:自由标签(用原生 Tags 字段)
适合:#Vue #Directus #副业 这种细粒度标记
- 和栏目分类互不冲突,一个定大类、一个打细标签
三、为什么不能一个分类建一个 Collection?
- 前端要写 N 套接口、N 个页面,没法统一列表
- 无法全局搜索所有笔记
- 后期新增分类还要新建表、配权限、配字段,巨麻烦
- Obsidian 推送也没法统一接口,要改多套脚本
四、进阶玩法(完全匹配 Obsidian)
1. 支持文件夹映射
Obsidian 文件夹 → 对应 Directus note_categories 分类
推送时自动识别当前笔记所在文件夹,自动赋值分类。
2. 支持二级目录
note_categories 设自关联父分类,实现:
技术 / 前端 / Directus
这种层级结构。
3. 权限控制
Directus 角色可以按分类控制:
- 普通用户只能看公开分类
- 管理员可编辑所有分类笔记
五、极简落地步骤
- 建集合
note_categories,录入几个大类:技术、生活、读书 - 建集合
notes,加多对一关联指向note_categories - Obsidian 推送脚本里,加一个字段
category传分类ID/分类名 - 前端直接查
/items/notes?filter[category.slug][eq]=tech就能筛选对应分类