这个问题来自 Notion 系统课程读者的提问,经整理后分享于此。如果你在使用 Notion 的过程中遇到了类似问题,欢迎留言交流。
问题背景
Notion 的数据库虽然有加载页数限制,但最少也需要显示 10 条,因此无法直接实现「只显示最后一条」的需求:

因此我们需要借助另一个数据库,以及一些函数公式的帮助。
基本思路如下:
- 将数据库 01 中的页面 A1、A2、A3、A4 等页面全部关联到数据库 02 中的页面 B(命名为「最后更新条目」)
- 在数据库 02 中创建一个 Formula 字段
- 在 Formula 字段中,用函数找出最后一个更新过的页面
第一步:创建默认模板
因为数据库 01 中的所有页面都需要关联到数据库 02 中的「最后更新条目」页面上,所以我们可以用默认模板,让这些页面在创建的时候就自动关联:

两个数据库的关联效果如下图所示:

第二步:使用 Formula 字段进行处理
在数据库 02 中创建一个 Formula 字段,并使用以下函数进行处理:
Database 01.map(current.上次编辑时间).sort().reverse().slice(0,1).map(lets( lastTime,current, lastPage,Database 01.find(current.上次编辑时间==lastTime),lastPage ))函数具体解析如下:
prop("Database 01")— 获取名为 "Database 01" 的数据库中的所有页面,返回一个包含所有页面的列表。.map(current.prop("上次编辑时间"))— 遍历列表中的每个元素,从每个页面中提取「上次编辑时间」属性,结果是一个包含所有编辑时间的新列表。.sort()— 将时间列表按照从早到晚的顺序排序。.reverse()— 反转列表的顺序,使其变成从最新到最旧的顺序。.slice(0,1)— 只保留列表的第一个元素,也就是最新的编辑时间。.map(lets(…))— 再次使用 map 函数,结合 lets 函数定义和使用临时变量:lastTime, current:将最新的编辑时间赋值给 lastTime 变量。lastPage, prop("Database 01").find(current.prop("上次编辑时间")==lastTime):在 "Database 01" 中查找上次编辑时间与 lastTime 相匹配的页面,赋值给 lastPage 变量。lastPage:最后返回这个最新编辑的页面。
最终效果
函数效果如下,当你修改某个页面后,数据库 02 会自动显示最近被编辑过的那个页面:

如果切换到画廊模式,可以将它嵌入到分栏排版中,获得更美观的样式:

📘 FLO.W 思流 — Notion 个人管理系统
FLO.W 是一套基于 Notion 搭建的个人管理模板,整合了任务、笔记、项目、习惯等模块,并配有完整的图文视频教程。
开箱即用的 Notion 模板系统
配套图文视频教程,新手友好
持续更新,长期维护
了解 FLO.W 思流模板✨ 已有 1237+ 位用户选择 FLO.W


