directus模型中Singleton做什么的

186 次阅读

本文最后更新于 2026年5月3日。

Singleton做什么的

Directus 的语境下(以及通用的软件开发中),Singleton(单例) 是一种特殊的数据模型模式。

简单来说,普通的 Collection(集合)像是一本“笔记本”(你可以写很多条笔记);而 Singleton 就像是“一页纸”(全局只有这一份,没有列表页,点开就是内容)。

在 Directus 里,Singleton 通常用来做:

  1. 全局配置:比如网站的标题、SEO 描述、备案号、联系方式。

  2. 首页管理:如果你的首页内容是唯一的(轮播图、一段介绍文字),不需要像博客文章那样发很多篇,就适合用 Singleton。

  3. App 状态控制:比如控制 App 是否开启“维护模式”的开关。


它和普通 Collection 的区别:

特性 普通 Collection (Multi-item) Singleton (Single-item)
数量 可以创建无数条记录(ID=1, 2, 3…) 永远只有 1 条记录
界面 点击后先进入“列表页”,再点进详情 点击后直接进入“编辑页”
API 调用 GET /items/articles (返回数组) GET /items/site_config (直接返回对象)

你可以怎么用它?

既然你刚才在折腾笔记系统,你可以创建一个 Singleton 叫做 Notebook_Settings

  • 字段welcome_message(欢迎语)、cover_image(笔记本封面)。

  • 效果:你在左侧菜单点开它,不用选哪一条,直接就能修改你的笔记本名称或封面。

如何设置?

在创建 Collection(集合)的初始界面,勾选 "Treat as Singleton" 即可。


一句话总结:

如果你需要存一堆同类数据(如笔记、用户、产品),用普通的;如果你只需要存唯一一个配置或页面内容,用 Singleton。