Skip to content

Bases 数据库教程

📌 最低版本: Obsidian 1.8+

Bases(数据库)是 Obsidian 1.8 引入的原生数据库功能,无需插件即可实现类似 Notion 的数据管理。

概述

Bases 是一种特殊类型的笔记,可以:

  • 📊 以表格、卡片等视图展示笔记集合
  • 🔍 按属性筛选和排序
  • 🔗 建立笔记间的关联关系
  • ✏️ 直接在视图中编辑属性

Bases vs Dataview

特性BasesDataview
内置功能✅ 是❌ 需安装插件
实时编辑✅ 支持❌ 只读视图
学习曲线🟢 简单🟡 中等
查询能力🟡 基础🟢 强大
视图类型多种主要是表格

快速开始

创建 Base

  1. 创建新笔记,命名为 任务管理.base
  2. 文件会自动识别为 Base 类型
  3. 或者使用命令:Create new base

基本结构

markdown
---
type: base
---

# 任务管理

## 配置数据源

source: "tasks"  # 文件夹路径

📊 视图类型

表格视图

最常用的视图,类似电子表格:

markdown
## 所有任务

```base
source: "tasks"
view: table
columns:
  - title
  - status
  - due
  - priority
sort:
  - property: due
    order: asc

### 卡片视图

适合展示笔记预览:

```markdown
## 项目卡片

```base
source: "projects"
view: cards
cover: image
columns:
  - title
  - progress
  - status

### 列表视图

简洁的列表展示:

```markdown
## 最近笔记

```base
source: "notes"
view: list
sort:
  - property: date
    order: desc
limit: 10

### 日历视图

按日期展示任务:

```markdown
## 任务日历

```base
source: "tasks"
view: calendar
date: due
columns:
  - title
  - status

---

## 🔍 筛选与排序

### 基础筛选

```yaml
filters:
  - property: status
    operator: equals
    value: "todo"

多条件筛选

yaml
filters:
  - property: status
    operator: equals
    value: "todo"
  - conjunction: and
  - property: priority
    operator: equals
    value: "high"

筛选操作符

操作符说明示例
equals等于status equals "done"
not_equals不等于status not_equals "archived"
contains包含tags contains "work"
starts_with开头是title starts_with "项目"
ends_with结尾是title ends_with "笔记"
is_empty为空due is_empty
is_not_empty不为空tags is_not_empty
before之前due before "2024-02-01"
after之后due after "2024-01-01"

排序

yaml
sort:
  - property: priority
    order: desc
  - property: due
    order: asc

📝 列配置

显示列

yaml
columns:
  - title
  - date
  - status
  - priority

列重命名

yaml
columns:
  - property: title
    display: "任务名称"
  - property: due
    display: "截止日期"

列宽度

yaml
columns:
  - property: title
    width: 300
  - property: status
    width: 100

列排序

yaml
columns:
  - property: priority
    sortable: true
  - property: due
    sortable: true
    defaultOrder: asc

🔗 关联关系

建立关联

在笔记中添加链接属性:

yaml
---
title: 任务名称
project: "[[项目A]]"
assigned: "[[张三]]"
---

关联视图

yaml
# 在项目笔记中显示相关任务
```base
source: "tasks"
filters:
  - property: project
    operator: equals
    value: "{{title}}"
columns:
  - title
  - status
  - due

### 双向关联

```yaml
# 项目笔记
---
title: 项目A
tasks:
  - "[[任务1]]"
  - "[[任务2]]"
---

# 任务笔记
---
title: 任务1
project: "[[项目A]]"
---

🎨 高级配置

分组显示

yaml
group:
  - property: status
    order:
      - "todo"
      - "in-progress"
      - "done"

条件格式

yaml
formatting:
  - property: priority
    conditions:
      - value: "high"
        style: "red"
      - value: "medium"
        style: "yellow"
      - value: "low"
        style: "green"

内联编辑

在表格视图中:

  • 单击单元格直接编辑
  • 双击打开源笔记
  • 右键显示更多选项

📋 实战案例

任务管理系统

markdown
---
type: base
---

# 任务管理

## 📋 待办任务

```base
source: "tasks"
view: table
filters:
  - property: status
    operator: not_equals
    value: "done"
columns:
  - property: title
    display: "任务"
    width: 250
  - property: priority
    display: "优先级"
    width: 80
  - property: due
    display: "截止日期"
    width: 100
  - property: project
    display: "项目"
    width: 150
sort:
  - property: priority
    order: desc
  - property: due
    order: asc

📊 按项目分组

base
source: "tasks"
view: table
group:
  - property: project
columns:
  - title
  - status
  - due

### 读书笔记库

```markdown
---
type: base
---

# 我的书架

## 📚 所有书籍

```base
source: "books"
view: cards
cover: cover
columns:
  - property: title
    display: "书名"
  - property: author
    display: "作者"
  - property: rating
    display: "评分"
  - property: status
    display: "状态"
filters:
  - property: type
    operator: equals
    value: "book"
sort:
  - property: date-added
    order: desc

📖 正在阅读

base
source: "books"
view: list
filters:
  - property: status
    operator: equals
    value: "reading"

### 项目追踪

```markdown
---
type: base
---

# 项目管理

## 🚀 活跃项目

```base
source: "projects"
view: table
filters:
  - property: status
    operator: equals
    value: "active"
columns:
  - property: title
    display: "项目名称"
    width: 200
  - property: progress
    display: "进度"
    width: 100
    format: percentage
  - property: start
    display: "开始日期"
  - property: end
    display: "截止日期"
  - property: team
    display: "团队"
sort:
  - property: end
    order: asc

📈 项目进度概览

base
source: "projects"
view: cards
columns:
  - title
  - progress
group:
  - property: status

### 周计划

```markdown
---
type: base
---

# 本周计划

## 📅 本周任务

```base
source: "tasks"
view: calendar
date: due
filters:
  - property: due
    operator: after
    value: "{{startOfWeek}}"
  - conjunction: and
  - property: due
    operator: before
    value: "{{endOfWeek}}"
columns:
  - title
  - priority

✅ 本周完成

base
source: "tasks"
view: list
filters:
  - property: completed-date
    operator: after
    value: "{{startOfWeek}}"

---

## 🔧 设置选项

### 默认视图

设置 → Core → Bases:

| 选项 | 说明 |
|------|------|
| 默认视图 | 新建 Base 的默认视图类型 |
| 行高 | 表格行高设置 |
| 显示封面 | 卡片视图是否显示封面 |

### 快捷键

| 快捷键 | 功能 |
|--------|------|
| `Ctrl/Cmd + N` | 新建行 |
| `Enter` | 编辑单元格 |
| `Escape` | 取消编辑 |
| `Delete` | 删除选中行 |

---

## ⚠️ 注意事项

### 性能考虑

- 大量笔记时,建议添加筛选条件
- 避免过于复杂的关联关系
- 定期清理不再使用的数据

### 兼容性

- Bases 使用标准 YAML 属性
- 与 Dataview 可共存
- 导出时保留所有属性数据

---

## 🔗 相关阅读

- [Properties 完整指南](/advanced/properties-guide)
- [Dataview 速查表](/reference/dataview-cheatsheet)
- [Front Matter 速查表](/reference/frontmatter-cheatsheet)
最后更新:2026年3月14日编辑此页反馈问题