用 Collections Database 搭建自己的数据库

用 Collections Database 搭建自己的数据库

日常工作生活中,我们总会有一些小数据需要记录并统计,比如加班请假时间、里程油耗、咖啡因摄入量等。这些数据零零种种,类型很多,虽然有一些专用 app 可以分别记录这些数据,但未免显得小题大做,也不符合我个人的使用习惯——能精简则精简,更何况有些数据根本没有专门的 app 来记录。

所以,采用通用性更强的类表格自然是更好的方案,包括在线表格 Airtable、金数据、相对小众但可以本地使用的 Memento Database,又或者略显大材小用的 Numbers、Microsoft Excel、WPS。

但用这些应用记录数据,对我来说都有些痛点。最主要是:

  • 录入数据需要打开对应的 app,不够方便快捷;

  • Airtable 和金数据可以利用 API 结合快捷指令方便录入,但依赖网络,多少有点不稳定的感觉;

  • 数据放在第三方服务器,总有点不太放心。

寻寻觅觅,偶然发现了今天要介绍的 app —— Collections。它的出现,一举解决了上述三个痛点。

  • 对快捷指令支持比较完善,可以快速录入数据,同时也支持手动在 app 录入;

  • 数据存储在本地,录入数据不依赖网络环境;

  • 数据可以通过 iCloud 在多设备间同步,支持 iPad 和 Mac 平台。

当然,凡事都有两面性,解决痛点的同时,Collections 也有一些使用不便的地方。包括 app 没有中文版,Formula (公式)功能1数据类型不能自动转换,比较死板等。

如果能克服上述两个痛点,Collections 是一个非常好用的可自定义的数据库,官方宣称有20+ 种类型字段可供使用,包括:公式运算、逻辑运算、文本、数字、图片、文件、定位、日期时间、即兴涂鸦等,非常丰富。正如官方 slogan:

Organize anything.

下图是我个人在用的两个范例,其中订阅费用是开箱即用,软件已内置模版,不过各字段的名称是英文,可以自行修改为中文。China Daily 是结合快捷指令,把阅读过的文章记录一下字数,并保存原文链接,方便后续回看。

订阅费用和 China Daily 阅读统计

理解 Collections 数据结构和组织方式

Collections 数据结构本质上就是一个 Excel 二维表格,它包括三个基本要素:Collections、Documents 和 Fields(因为 app 为英文版,本文对相关术语也用英文进行描述)。

Collections:可以理解为一个个 Excel 文件,不同的 Collections 用于收集不同的数据,比如上图的订阅费用和 China Daily 阅读统计就是两个 Collections。

Documents:就是每个 Excel 里面一行行的数据,上图中印象笔记和 Quicker 就是两条 Documents。

Fields:Excel 每一列的内容,比如每一条订阅费用的 Documents 包含 app 名称、价格、周期、到期日期这四个 Fields。

上述用图表示如下:

Collections 数据结构

还有两个功能需要了解,如果要统计汇总数据,需要添加一个 Summary;如果要过滤满足某些条件的数据,需要添加一个 View;如果要统计满足某些条件的数据,就是把 Summary 和对应的 View 关联起来。

新建 Collection 范例

现在我们一起来新建一个统计每日饮水量的 Collection,来理解 app 的相关功能。

打开 app 后点击右上角「+」,软件已经内置了很多 Template(模版),这里选择 Custom(自定义),对新的 Collection 命名为「每日饮水」,选择喜欢的图标。

完成后继续点击右上角「Next」,添加 Fields。这里按下图添加对应的数据类型并重命名。此处有个不人性化的地方,添加完 Fields 后必须先点击右上角「Save」,然后再重新进入编辑 Fields,才能重命名。

新建 Collection 并添加Fields

重新进入新建的「每日饮水」,点击右上角「...」,选择「Lists」,用于添加「饮用类型」,添加类型时可以开启「Enable color」,看着会比较美观。

添加饮水类型的 List

回到上面左图,这次选择「Fields」,进行编辑调整,各字段命名如下图。添加 Selection 字段时选择刚才新建的「饮用类型」列表。

重命名各字段名词

点击上图中每个 Fields 右侧的「>」,参考下面图片设置,未显示的选项保持默认即可。

另外,因为我们大部分时候喝的是水,所以为了减少每次录入的操作步骤,饮用类型默认选项设置为水。同时,为了显示时美观一些,把饮用类型的「Display caption」关闭。

关闭「Display caption」和设置「Default value」

这里简单解释一下几个主要的选项作用,不同的 Fields 类型选项会有所差异。

Collection 的 List 界面

  • Display in list:开启后, Filed 才会在上图 List 页面显示,比如上图中日期、摄入量、饮用类型都开启了。

  • Style:类型为 Title 时,字体会加粗且显示在首行,比如上图的日期。摄入量和饮用类型都属于 Detail,字体未加粗。

  • Display caption:是否显示字段标题,上图中摄入量开启了此选项,如果关闭此选项,则只会显示 50,而不会显示「摄入量」三个字。

  • Add divider:设置后,在录入新数据界面,会和其他字段之间有空行,效果如下图。

「Add divider」左图开启,有图关闭

一个简单的 Collection 已完成,现在我们来添加 Summary 和 View 功能,让其统计今日饮用总数。

添加 View 过滤数据

View 类似于 Excel 筛选功能,我们添加一个 View 用于过滤出日期为当天的数据。

添加 New view

按下图步骤 1-10 添加新的 View。注意,Formula 需要内购解锁。

步骤1-4

步骤5-8

步骤9-10

解释下「Data in unit」:Day 表示按日筛选,1 表示今日,-1 表示昨日。同理,当选择Month 过滤时,1 表示当月,-1 表示上月。

添加 Summary

添加 Summary 用于统计数据。

选择 Summary

由于我们是要统计摄入量的数据,而摄入量在前面选择的 Field 类型为 Decimal number(十进制数),所以这里也要选择 Decimal number。其余按步骤 1-10 操作。

步骤1-3

步骤4-10

步骤11和最终效果

至此,一个可以记录每日饮水量的 Collection 已完成,下面附上快捷指令,用于快速记录数据。我习惯一杯水喝完后就记录,而杯子容量是固定的,所以快捷指令只需要动态获取当前日期即可,摄入量属于固定数值。各位也可根据需求对摄入量和饮用类型进行设置。但是不建议设置需要选择的步骤,这样无法 Siri 语音一键记录。

利用快捷指令后玩法就很多了,比如 NFC 触碰,手机后背双击,iPhone 15 Pro 系列的 Action Button,都可以大大提高数据记录效率,各位自行尝试。

Shortcuts

icloud.com

Siri 语音添加效果

关于 Formula 和数据类型

首先吐槽下 Formula 的数据转换功能,一旦 Field 字段类型选择好了,通过公式计算的结果一定也要符合该字段类型,否则会报错。比如 Field 字段类型是 Text(文本),那么通过公式计算的数字结果一定要用「String」把数字结果转换为字符串才行,如下图。

快捷指令传递给 Collection 的数据类型也要对应,不能把数字结果传递给文本型的 Field。

左图未进行类型转换报错,右图把数字结果转换为文本

另外,Collection 的公式组织方式是先写结果再一步步由后至前写过程,需要点逆向思维,而且一旦过程中有一步逻辑写错了,那大概率得重头开始写,不太人性化。

比如,上图中对 1 和 2 求和的结果转换为字符串,我们一般习惯于先写公式 Sum 1 2,然后再对 Sum 结果使用 String 转换字符串。但 Collection 里面需要先写 String,然后在 String 里面写 Sum,再在 Sum 里面写数字 1 和 2。也就是说,如果一个结果需要通过 123 步骤来实现,那么在写公式时必须按 321 步骤写。

总结

相信能看到这里的读者,对数据记录是有需求的,Collections 虽然是一个小众 app,也有一点不人性化的地方,但其功能的完善程度和对快捷指令的支持程度都是非常棒。同时,高级功能的内购,一次购买即可解锁 Mac、iPad、iPhone 端。

Collection 的功能还有很多,本文仅抛砖引玉,更多详细功能推荐阅读官方文档

很多时候,我们不是不想记录一些数据,而是记录的过程不够方便快捷,每多一个步骤就会大大降低记录的欲望,能一步到位的绝对不要用两步。

用 Collections 去记录更多更多吧!

dark
sans