Obsidian Bases 指南:如何在仓库中构建零代码数据库
全面掌握 Obsidian Bases 原生无代码数据库视图:创建 bases、将笔记属性转化为列、过滤与分组,以及对比 Bases 与 Dataview 的选择依据。

Obsidian Bases 指南:如何在仓库中构建零代码数据库
如果您曾花费大量时间在 Obsidian 中整理笔记,一定希望仓库能像数据库一样高效运转。您希望在一处查看所有活跃项目、按状态筛选阅读清单,或者将每份会议笔记关联到特定联系人——且无需编写任何查询代码。这正是 Obsidian Bases 带来的革新:基于您既有的 Markdown 笔记构建的原生无代码数据库视图。
Bases 是双链笔记的自然演进。如果说双链将您的仓库织成了一张关系网,属性(Properties)则将这张网转化为了可切片、可过滤的结构化数据。Base 并不会将您的信息保存在独立的文件或私有格式中。它读取笔记中已有的 YAML 属性,并将其呈现为可编辑、可筛选的表格、卡片画廊、列表或地图。您的数据始终保持纯文本、高移植性与未来兼容性。
本指南将包含以下内容:
- Base 的本质及让一切变得清晰的心智模型
- Bases 与 Dataview、Notion 及基础搜索的对比
- 开启插件并在五分钟内构建您的第一个 Base
- 属性设计原则,确保视图永崩溃
- 笔记的过滤、排序与分组技巧
- 四种视图类型及其在任意笔记中的嵌入方法
- 即拿即用的开箱即用场景:阅读清单、项目追踪、CRM、内容日历
- 局限性分析与清晰的决策框架
什么是 Obsidian Bases?为何它如此重要?
Base 是叠加在现有 Markdown 笔记之上的一种保存好的无代码数据库视图。Obsidian 将 Bases 作为核心官方插件引入,无需任何查询语言即可将笔记及其 YAML 属性转化为可编辑、可筛选的视图。
必须理解的核心心智模型是:Base 不是存储数据的独立数据库。 它只是一种“视图”。数据本身保存在普通笔记的 Frontmatter(即 YAML 属性)中。.base 文件仅保存关于如何查看这些笔记的配置信息:包含哪些笔记、将哪些属性显示为列、以及如何进行过滤和排序。
这带来了几个至关重要的优势:
- 数据保持纯文本形态。 即使明天删除了 Base,除了视图本身您不会损失任何东西。每份笔记和每个属性依然作为 Markdown 完好地保存在仓库中。
- 未来兼容性。 无平台锁定、无需导出步骤、无私有数据库格式。这与 Obsidian 作为持久 个人知识管理 系统的底层哲学完全一致。
- 随仓库无缝扩展。 由于 Base 实时读取笔记数据,当您为笔记添加新属性时,该笔记便能即刻出现在对应的视图中。
如果说双链是仓库的神经脉络,属性就是结构化图层,而 Bases 则是让该结构变得可视化、可操作的透镜。
Bases 与 Dataview 对比:零代码 GUI 还是查询语言?
核心区别非常直观:Bases 是可视化的点选式 GUI,而 Dataview 是需要手写代码的查询语言。Bases 内置于应用中且零代码门槛;Dataview 则需要学习 DQL(Dataview Query Language)甚至针对复杂场景编写 JavaScript。
两者均读取相同的数据源——笔记属性,但适应不同的使用习惯:
- Bases 在速度与易用性上胜出。 作为原生功能,它速度极快(包括移动端)。您可以通过点击构建视图、直接在表格单元格中编辑属性值,绝不会遇到语法错误提示。
- Dataview 在表达能力上胜出。 它支持行内字段(如在正文中写入
due:: 2026-06-10)、渲染计算文本,并处理 Bases 暂不支持的复杂自定义查询。然而,它高度依赖代码。
对于大多数“显示筛选后的笔记列表”需求,Bases 是目前更快、更友好的选择。对于深度计算的仪表盘或行内字段工作流,Dataview 仍有一席之地。如果您正在评估它们如何契合更广泛的工作流,我们的 任务管理指南 展示了结构化 Abfragen 的应用场景。
提示:您无需二选一。许多仓库在日常列表和筛选视图中运行 Bases,同时保留少量 Dataview 代码块用于处理极少数需要复杂计算的仪表盘。
如何开启并创建您的第一个 Base?
在“设置 → 核心插件”中找到“Bases”并开启。顺便确保开启“Properties(属性)”,因为规范的属性是 Bases 发挥作用的基础。开启后,有三种创建 Base 的方法:
- 命令面板: 打开命令面板(Ctrl/Cmd + P),运行“Create new base”。
- 左侧边栏按钮: 点击左侧边栏中的“New base”图标。
- 右键文件夹: 在文件列表的任意文件夹上右键,选择“New base”,直接将其作用域限定在该文件夹。
新手常遇到的一点是:新建的 Base 默认会展示仓库中的所有文件。它不像 Dataview 那样有默认的 FROM 子句。您需要从全局范围开始逐步筛选。
五分钟快速上手示例:
- 通过上述任意方法新建一个 Base。
- 视图打开后会展示仓库内的每一篇笔记。
- 添加一个筛选条件缩小范围,例如“file is in folder Projects”或“has tag #project”。
- 选择您关心的属性添加为列(如 status、due date、area)。
- 按某一列排序,完成!
从零构建一个可用的数据库视图,过程就是这么简单。
提示:从细分范围开始。限定在单个文件夹或标签下的 Base,比尝试一次性展示整个仓库的 Base 要容易掌控得多。
如何设计不易崩溃的笔记属性?
Base 中的列主要有三个来源:
- 笔记属性: 您在每篇笔记中编写的 YAML Frontmatter(如
status,priority,due)。这些可以直接编辑。 - 文件属性: 内置元数据,如
file.path,file.ctime,file.mtime和file.tags。这些为只读。 - 公式属性: 在 Base 内部基于其他属性派生计算得出的值。
支持的属性类型包括文本、列表、数字、复选框、日期、日期时间以及链接。选择正确的类型非常关键:date 类型的属性可以按时间区间筛选,而存储为纯文本的日期则无法做到这一点。
实现稳定 Base 的核心前提是 属性规范(Property Hygiene):
- 保持类型一致。 切勿在某些笔记中将值存为链接,而在另一些笔记中存为纯文本。
- 跨笔记统一属性命名。
status、Status和state会被识别为三个不同的列。选择一个并坚持使用。 - 直接行内编辑。 在 Base 单元格中直接修改数值,修改结果会实时写回笔记的 Frontmatter。
这正是优秀模板系统的价值所在。如果笔记都是从 具备统一属性的模板 创建的,后续构建任何 Base 都会非常轻松。
注意:在引入新属性之前创建的旧笔记只会缺少该字段。它们仍会出现在 Base 中,对应列会显示为空白,直到您手动补充。
筛选、排序与分组如何工作?
Bases 中的筛选规则由三部分构成:属性、运算符、目标值。 您选择属性(如 status)、运算符(is, contains, is greater than, is empty)和目标值(active)。您可以使用 and、or 和 not 嵌套多条规则。
存在两个层级的筛选:
- 全局筛选(Dataset): 作用于整个 Base 的所有视图(如“is in folder Projects”)。
- 单视图筛选: 仅作用于特定视图,并通过 AND 与全局筛选叠加(如仅展示活跃项)。
常用模式:
- 包含标签: 筛选
file.tags包含#project。 - 文件夹范围: 筛选位于指定文件夹内的文件。
- 时间窗口: 筛选
due在今天及之前,或未来 7 天内。
排序支持对任意列进行升序或降序排列。分组功能允许按状态归类项目、按流派归类书籍,每个分组都有独立可折叠的标题。
四种视图类型及其嵌入方法
Bases 支持四种视图类型,单个 .base 文件可以并排包含多个命名视图:
- Table(表格): 默认视图。包含行和列,支持行内编辑与列汇总(计数、求和)。
- Cards(卡片): 支持展示封面图的画廊布局,非常适合阅读清单。
- List(列表): 适合仪表盘和内容地图(MoC)的紧凑布局。
- Map(地图): 将带有地理坐标的笔记标注在地图钉上。
Bases 的核心威力在于 嵌入(Embedding)。您可以像嵌入普通文件一样,使用 .base 文件名将 Base 嵌入到任意笔记中。如需嵌入特定的命名视图而非整个 Base,只需在文件名后加上 # 和视图名称,例如 MyBase.base#Active。
它还支持上下文感知的 this 引用。嵌入的 Base 可以相对于所在笔记进行动态筛选——因此嵌入在某人个人笔记中的 Base 可以仅展示与该人关联的会议。
嵌入使 Base 从独立页面转变为了笔记系统中的动态组件。每日笔记可以嵌入“今日到期”视图;项目笔记可以嵌入专属的任务列表。详情请参阅 Obsidian 项目管理指南。
如果您不想手动搭建每个 Base,Obsibrain 预置了开箱即用的仪表盘、属性架构和 PARA 文件夹。
您能用它构建什么?
以下是四个可以立即复刻的具体配置:
阅读清单 / 数字书架
- 属性:
title(文本),author(文本),status(文本: to-read / reading / done),rating(数字),cover(图片链接) - 使用 Cards 视图,按
status分组。
项目追踪器
- 属性:
status(文本: planning / active / on-hold / done),area(链接),due(日期),priority(数字) - 使用 Table 视图,按
status分组,按due升序排列。
轻量个人 CRM
- 人员笔记:
type: person,company(文本),email(文本),last-contact(日期) - 会议笔记:
type: meeting,attendees(人员链接列表),date(日期) - 创建一个筛选为
type is meeting的 Base,然后使用this将其嵌入到每篇人员笔记中。
内容日历
- 属性:
stage(文本: idea / draft / scheduled / published),publish-date(日期),channel(文本) - 使用按
stage分组、按publish-date排序的 Table 视图。
每个示例的本质都是一个带有统一属性的笔记文件夹加上一个 Base。搭配干净的 第二大脑模板,搭建这些视图几乎毫无压力。
Bases 与 Notion 对比:何时使用哪一个?
Bases 是本地优先、免费且默认作用于整个仓库的;而 Notion 基于云端,要求提前构建隔离的数据库。Notion 在纯关系型数据库、用于自动化的 REST API 和多用户实时协作方面表现更佳。
一目了然的决策框架:
| 工具 | 适用场景 |
|---|---|
| 基础搜索 | 仅需临时查找某篇笔记或某段文本。 |
| Bases | 需要对笔记进行无代码、可筛选的列表/表格/画廊展示。 |
| Dataview | 需要行内字段或 Bases 暂不支持的复杂计算输出。 |
| Notion | 需要纯关系型数据库、外部 API 或团队协作。 |
Bases 目前的局限性:
- 仅限 Frontmatter。 仅读取 YAML 属性,不支持正文行内字段。
- 计算能力较弱。 公式功能尚无法达到 Dataview 的脚本化灵活性。
- 关系功能弱于 Notion。 暂无带 Rollup 汇总的双向关系架构。
更详细的对比请参阅 Obsidian 与 Notion 生产力对比。
如果您希望直接获取开箱即用的体验,Obsibrain 提供了结合 PARA 文件夹、GTD/艾森豪威尔任务管理以及预置数据库视图的系统模板。
常见问题解答(FAQ)
Obsidian Bases 是免费的吗? 是的。Bases 是 Obsidian 随附的内置核心插件,无需额外付费或订阅。
Bases 可以替代 Dataview 吗? 对于大多数筛选列表和表格场景,是的。仅在需要行内字段或复杂的脚本化 Abfragen 时保留 Dataview。
Bases 可以在移动端使用吗? 可以。作为原生功能,它在移动端上的表现明显快于大型仓库中的 Dataview。
Base 中的数据保存在哪里?
保存在笔记的 YAML Frontmatter 属性中。.base 文件仅保存视图的配置信息。
结语
Bases 将 Notion 备受欢迎的数据库能力带入到了本地纯文本仓库中,且无需学习复杂的 Abfragen 语言。将其视为规范属性之上的可视化图层:统一属性命名,保持数据类型干净。正如双链将笔记连成网络,属性将网络转化为结构化数据,而 Bases 正是让这些数据焕发价值的透镜。今天就从创建一个小 Base 开始尝试吧!
继续阅读
探索 Obsibrain 演示版。
看看 Obsibrain 如何融入您的工作方式。通过电子邮件获取演示库,在 Obsidian 中亲自探索。
包含演示版后续邮件及优惠信息。您可以随时退订。 隐私政策