点赞 + 关注 + 收藏 = 学会了
整理了一个n8n小专栏,有兴趣的工友可以关注一下 👉 《n8n修炼手册》
非技术出身的工友在使用 n8n 时是否会遇到这样的困惑:爬取了一堆数据不知道存哪里,总不能每次都导出到Excel再来回导入?想让多个工作流共用一套数据,却找不到简单的方法?不想折腾MySQL、PostgreSQL这些复杂的外部数据库,也看不懂晦涩的SQL语句?
如果有以上困惑,而且你的数据结构不是那么复杂的话,可以试试 n8n 内置的 Data tables。
我用一个简单的例子介绍一下 Data tables 的用法,顺便讲讲不同格式的字段该如何转换。

我们可以在 Data tables 面板管理各个数据表,点击右上角的"Create data table"创建一个数据表。
我以"员工信息表"作为演示。

点击加号新增 name 和 married。
name 是"员工姓名",Type 选择 string。
married 是"是否结婚",Type 选择 boolean(这个类型只有"是"和"否"两个选项)。

创建一个工作流,添加要给表单节点。
只有2个字段,表单的"姓名"对应数据表里的 name;表单的"是否结婚"对应数据表里的 married。
但是,数据表的 married 的类型是布尔型,也就是 true 表示已结婚,false 表示未结婚。但表单的"是否结婚"的选项却是字符串的"已结"和"未结"。这里要做一下转换。

在表单节点后面添加一个「Insert row」节点,搜 table 就能找到它。

给「Insert row」节点做以下配置。
「From list」选择刚刚创建的"员工信息"表。
「Values to insert」填入 name 和 married 这两个字段。
name 这项填入 {``{ $json['姓名'] }} 比较好理解,我不讲解了。
married 这项填入 {``{ $json['是否结婚'] === '已结' ? true : false }},这是 JS 的三元运算符,判断上一个节点传入的"是否结婚"这项的值是否为"已结",如果是的话就存入 true ,否则存入 false。

测试一下整个工作流。
我提交了2次表单:
- 雷猴,已结
- 鲨鱼辣椒,未结

来到数据表就能看到这两项了。

鲨鱼辣椒突然说他今天要结婚了,作为 HR 也应该更新一下数据。
此时再提交一次表单:鲨鱼辣椒,已结。你会发现工作流又多了一条数据,这并不是我们想要的结果。

在 Data tables 里先手动删除第3项。
回到工作流这边,新增了一些节点。
- 上面那条:
- 「If row exists」:如果传入的"姓名"已在数据表里,就走这条。
- 「Update row(s)」:更新表中的数据。
- 下面那条:
- 「If row does not exist」:如果传入的"姓名"不在数据表里,就走这条。
- 「Insert row」:新增一条数据。

「If row exists」和「If row does not exist」的判断条件都是一样的,如下图所示。只不过这两个节点的功能不同而已。

在来看「Update row(s)」这个节点,通过 name 这个字段找到要修改的那行数据,找到后就修改 married 这列的值。

「Insert row」节点的配置不需要改变。
试试~
提交一项:鲨鱼辣椒,已婚

回到数据表这边就能看到鲨鱼辣椒的婚姻状态变成"true"了。

再提交一项:蝎子莱莱,未婚。

由于"蝎子莱莱"不在数据表里,所以走的是"新增"路线。

以上就是本文的全部内容啦,想了解更多n8n玩法欢迎关注《n8n修炼手册》👏
如果你有 NAS,我非常建议你在 NAS 上部署一套 n8n,搞搞副业也好,帮你完成工作任务也好 《『NAS』不止娱乐,NAS也是生产力,在绿联部署AI工作流工具-n8n》
点赞 + 关注 + 收藏 = 学会了