数据库功能 (Bases)
版本要求
Bases 是 Obsidian v1.11 引入的功能,请确保你的 Obsidian 版本 ≥ 1.11。
Obsidian Bases 是一个强大的数据库功能,允许用户在笔记中创建和管理结构化数据。通过 Bases,你可以将分散的笔记信息整合成结构化的表格形式,方便组织、筛选和分析,实现类似 Notion 的数据库体验。
什么是 Bases
Bases 是 Obsidian 推出的结构化数据管理功能,它结合了传统笔记的灵活性和数据库的强大功能。你可以把 Bases 理解为「可以嵌入笔记的表格」,每个 Base 就像一个独立的数据库,可以存储、管理和可视化你的结构化数据。
Bases vs 传统笔记
| 特性 | 传统笔记 | Bases |
|---|---|---|
| 数据存储 | 分散在各笔记 | 结构化表格 |
| 查询能力 | 手动搜索 | 高级筛选 |
| 视图展示 | 单一格式 | 多种视图 |
| 关联能力 | 手动链接 | 关系字段 |
| 数据分析 | 困难 | 内置统计 |
核心理念
Bases 的核心理念是将结构化数据与你的笔记知识库无缝整合,让信息管理更加高效。它不是要取代传统的自由笔记,而是为需要结构化管理的信息提供更好的解决方案。
主要特性
1. 多种视图展示
Bases 提供多种视图模式,满足不同的展示需求:
表格视图
以传统电子表格的形式展示数据,适合批量编辑和数据分析。
适用场景:
- 数据批量录入
- 内容对比查看
- 快速筛选排序
功能:
- 列宽调整
- 列排序
- 筛选条件
- 分组显示
画廊视图
以卡片形式展示记录,每个记录像一个独立的展示卡片。
适用场景:
- 项目展示
- 作品集
- 人物档案
功能:
- 封面图片显示
- 卡片样式定制
- 字段选择显示
看板视图
类似 Trello 的看板布局,适合任务管理和工作流追踪。
适用场景:
- 项目进度管理
- 任务状态追踪
- 工作流程可视化
功能:
- 拖拽排序
- 状态列定制
- WIP 限制
日历视图
以日历形式展示与时间相关的数据记录。
适用场景:
- 日程管理
- 活动安排
- 日记索引
功能:
- 月/周视图切换
- 时间范围筛选
- 事件提醒
2. 灵活的字段类型
Bases 支持丰富的字段类型,让你可以根据需求选择最合适的数据格式:
| 字段类型 | 用途说明 | 示例 |
|---|---|---|
| 文本 | 存储短文本或长文本内容 | 标题、描述 |
| 数字 | 存储数值,支持自动计算 | 价格、数量 |
| 单选 | 从预定义选项中选择单个值 | 状态、优先级 |
| 多选 | 从预定义选项中选择多个值 | 标签、分类 |
| 日期 | 存储日期和时间信息 | 截止日期、创建时间 |
| 复选框 | 存储布尔值(是/否) | 完成、重要 |
| 关系 | 关联其他 Base 中的记录 | 项目关联任务 |
| 用户 | 关联团队成员 | 负责人 |
| 文件 | 附件和媒体文件 | 附件、图片 |
| URL | 网页链接 | 参考链接 |
| 公式 | 计算字段 | 总价 = 数量 × 单价 |
| 创建时间 | 自动记录创建时间 | 创建时间 |
| 修改时间 | 自动记录修改时间 | 更新时间 |
3. 强大的筛选与排序
Bases 内置强大的数据处理能力:
筛选功能:
- 多条件组合筛选
- AND/OR 逻辑组合
- 筛选条件保存
- 快速筛选按钮
排序功能:
- 按任意字段排序
- 多字段组合排序
- 升序/降序切换
- 自定义排序规则
分组功能:
- 按字段值分组
- 多层嵌套分组
- 分组统计显示
- 折叠/展开分组
4. 关联与引用
Bases 的关系字段可以与其他 Base 建立关联,实现数据互通:
关系类型:
- 一对一关系:每条记录关联一条记录
- 一对多关系:一条记录关联多条记录
- 多对多关系:多条记录相互关联
关联特性:
- 跨 Base 数据引用
- 双向同步更新
- 关联数据显示
- 快速导航跳转
快速入门
创建第一个 Base
步骤:
- 在文件列表中右键点击
- 选择「新建 Base」
- 为你的 Base 命名(如「阅读清单」)
- 系统会自动创建默认的表格结构
- 开始添加字段和数据
或者使用命令面板:
Ctrl+P打开命令面板- 输入「新建 Base」
- 选择保存位置
- 输入名称
定义字段
添加字段:
- 点击表格表头的
+按钮 - 选择字段类型
- 输入字段名称
- 根据需要配置选项
字段配置:
| 设置项 | 说明 |
|---|---|
| 字段名 | 显示名称 |
| 字段类型 | 数据类型 |
| 默认值 | 新记录的默认值 |
| 必填 | 是否必须填写 |
| 选项列表 | 单选/多选的可选项 |
添加记录
方法一:直接输入
- 点击表格底部的「添加记录」
- 按 Tab 键在字段间移动
- 按 Enter 键保存新记录
方法二:表单模式
- 点击「新建」按钮
- 在弹出的表单中填写
- 点击「保存」
方法三:使用模板
- 创建模板记录
- 使用模板快速创建
- 自动填充默认值
实战案例
📚 阅读管理系统
字段设计:
| 字段名 | 类型 | 说明 |
|---|---|---|
| 书名 | 文本 | 书籍名称 |
| 作者 | 文本 | 作者姓名 |
| 状态 | 单选 | 想读/在读/已读 |
| 评分 | 数字 | 1-5 星 |
| 开始日期 | 日期 | 开始阅读日期 |
| 完成日期 | 日期 | 完成日期 |
| 笔记链接 | 文件 | 关联的笔记文件 |
| 标签 | 多选 | 分类标签 |
视图配置:
# 表格视图 - 全部书籍
筛选: 无
排序: 完成日期 降序
# 看板视图 - 阅读状态
分组字段: 状态
列: 想读、在读、已读
# 日历视图 - 阅读进度
日期字段: 完成日期查询示例:
TABLE 书名, 作者, 评分, 状态
FROM "阅读清单"
WHERE 状态 = "已读"
SORT 评分 DESC📋 项目任务管理
字段设计:
| 字段名 | 类型 | 说明 |
|---|---|---|
| 任务名称 | 文本 | 任务标题 |
| 项目 | 关系 | 关联项目 Base |
| 负责人 | 用户 | 任务负责人 |
| 状态 | 单选 | 待办/进行中/完成 |
| 优先级 | 单选 | 高/中/低 |
| 截止日期 | 日期 | 任务截止日期 |
| 进度 | 数字 | 完成百分比 |
| 标签 | 多选 | 分类标签 |
看板配置:
列设置:
待办:
颜色: 灰色
WIP限制: 无
进行中:
颜色: 蓝色
WIP限制: 3
完成:
颜色: 绿色
WIP限制: 无🎬 影视收藏管理
字段设计:
| 字段名 | 类型 | 说明 |
|---|---|---|
| 名称 | 文本 | 影视名称 |
| 类型 | 单选 | 电影/电视剧/纪录片 |
| 状态 | 单选 | 想看/在看/已看 |
| 评分 | 数字 | 1-10 分 |
| 观看日期 | 日期 | 观看日期 |
| 海报 | 文件 | 海报图片 |
| 平台 | 多选 | Netflix/B站/爱奇艺 |
| 笔记 | 文本 | 观后感 |
💰 财务记录系统
字段设计:
| 字段名 | 类型 | 说明 |
|---|---|---|
| 日期 | 日期 | 交易日期 |
| 类型 | 单选 | 收入/支出 |
| 分类 | 单选 | 餐饮/交通/娱乐... |
| 金额 | 数字 | 交易金额 |
| 支付方式 | 单选 | 现金/微信/支付宝 |
| 备注 | 文本 | 详细说明 |
| 收据 | 文件 | 收据图片 |
公式字段:
// 月度支出
sum(filter(金额, 类型 = "支出"))
// 月度收入
sum(filter(金额, 类型 = "收入"))
// 月度结余
月度收入 - 月度支出数据导入导出
导入数据
支持的格式:
- CSV 文件
- Excel 文件
- JSON 数据
导入步骤:
- 点击 Base 菜单 → 导入数据
- 选择文件
- 映射字段
- 确认导入
CSV 导入示例:
书名,作者,状态,评分
人类简史,尤瓦尔·赫拉利,已读,5
原则,瑞·达利欧,在读,4
思考快与慢,丹尼尔·卡尼曼,想读,导出数据
导出选项:
- 导出为 CSV
- 导出为 JSON
- 导出为 Markdown 表格
- 复制为剪贴板
Markdown 导出:
| 书名 | 作者 | 状态 |
|------|------|------|
| 人类简史 | 尤瓦尔·赫拉利 | 已读 |
| 原则 | 瑞·达利欧 | 在读 |进阶技巧
使用公式字段
Bases 支持公式计算,可以创建计算字段:
// 数字计算
数量 * 单价
// 文本处理
"[" + 书名 + "](" + 链接 + ")"
// 条件判断
if(进度 >= 100, "完成", "进行中")
// 日期计算
dateDiff(开始日期, 结束日期, "days")
// 统计函数
sum(子任务.工时)
count(子任务)常用公式示例:
// 自动状态判断
if(截止日期 < today() AND 状态 != "完成", "逾期", 状态)
// 进度条
repeat("█", floor(进度/10)) + repeat("░", 10-floor(进度/10))
// 优先级排序
if(优先级 = "高", 1, if(优先级 = "中", 2, 3))建立视图关联
通过关系字段连接不同的 Base,实现信息整合:
项目-任务关联:
项目 Base:
字段:
- 项目名称
- 任务列表 (关系 → 任务 Base)
- 总进度 (公式: avg(任务.进度))
任务 Base:
字段:
- 任务名称
- 所属项目 (关系 → 项目 Base)
- 进度书籍-笔记关联:
书籍 Base:
字段:
- 书名
- 笔记列表 (关系 → 笔记 Base)
笔记 Base:
字段:
- 标题
- 所属书籍 (关系 → 书籍 Base)
- 内容模板化记录
使用模板功能快速创建标准化记录:
创建模板:
- 在 Base 中创建模板笔记
- 设置默认字段值
- 使用模板创建新记录
模板示例:
---
type: template
base: 书籍
---
书名: {{书名}}
作者: {{作者}}
状态: 想读
评分:
开始日期:
笔记链接:嵌入到笔记
将 Base 视图嵌入到普通笔记中:
## 我的阅读清单
![[阅读清单.base#表格视图]]
## 当前阅读
![[阅读清单.base#看板视图|筛选:状态=在读]]与属性系统联动
Bases 与 Obsidian 的属性系统(YAML Frontmatter)深度整合:
从属性创建 Base
- 收集具有相同属性的笔记
- 创建新 Base
- 选择「从笔记属性创建」
- 自动提取属性作为字段
Base 数据同步到笔记
在 Base 中编辑的数据会同步到笔记的 frontmatter:
---
type: book
title: 人类简史
author: 尤瓦尔·赫拉利
status: 已读
rating: 5
---插件生态
增强 Base 功能的插件
| 插件 | 功能 |
|---|---|
| DB Folder | 增强数据库功能 |
| Notion-Like Tables | Notion 风格表格 |
| Data view | 数据查询增强 |
| Tracker | 追踪和统计 |
与 Dataview 配合
TABLE 书名, 作者, 评分
FROM "阅读清单.base"
WHERE 评分 >= 4
SORT 评分 DESC性能优化
大型 Base 优化
建议:
- 控制单条 Base 的记录数量(建议 < 1000 条)
- 使用筛选减少显示数量
- 关闭不必要的实时计算
- 分拆过于庞大的 Base
索引优化
- 为常用筛选字段建立索引
- 避免过度使用公式字段
- 定期清理无用记录
注意事项
- Bases 数据存储在你的本地库中,安全可靠
- 免费版用户可创建的 Base 数量有限,Pro 版本无限制
- 定期备份你的库,防止数据丢失
- 复杂的数据结构可能影响性能,保持适度复杂度
- Bases 功能仍在持续更新中,关注官方更新日志
相关资源
- 官方 Bases 文档
- Bases 社区讨论
- 属性系统 - YAML 属性详解
- Dataview 实战 - 数据查询进阶
提示
Bases 正在持续更新中,新功能会定期推出。建议关注官方更新日志,及时了解最新特性。
INFO
Bases 最适合管理结构化的数据,如项目任务、阅读清单、收藏管理等。对于自由格式的笔记,传统笔记方式仍然更适合。