You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何处理Airtable返回的JSON数据 重构格式后存入MongoDB数据库

Airtable API 返回关联字段格式转换实现方案

核心逻辑

Airtable 官方保证关联记录 ID 数组和对应的 lookup 字段数组的下标顺序完全一致,所以只需遍历数组下标,将同位置的 ID 和名称组合成对象即可完成转换。

完整实现代码(Node.js)

// 单条 Airtable 记录转换函数
function transformAirtableRecord(record) {
  const { id, fields, createdTime } = record;
  // 合并关联ID和对应的名称
  const guests = fields.Guests.map((guestId, index) => {
    return {
      _id: guestId,
      name: fields['Name (from Guests)'][index]
    }
  });
  // 组装成目标结构
  return {
    id,
    Household: fields.Household,
    Guests: guests,
    createdTime
  }
}

// 批量处理从Airtable拉取的全部记录示例
const rawAirtableRecords = [/* 你从airtable.js拉取到的原始记录数组 */];
const transformedRecords = rawAirtableRecords.map(record => transformAirtableRecord(record));

// 后续直接把transformedRecords写入MongoDB即可

边界情况兼容处理

如果你的Airtable表中存在某条记录没有关联Guests的情况,可以加空值判断避免报错,修改转换函数即可:

function transformAirtableRecord(record) {
  const { id, fields, createdTime } = record;
  const guests = (fields.Guests || []).map((guestId, index) => {
    return {
      _id: guestId,
      name: (fields['Name (from Guests)'] || [])[index] || ''
    }
  });
  return {
    id,
    Household: fields.Household || '',
    Guests: guests,
    createdTime
  }
}

内容的提问来源于stack exchange,提问作者James

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:06:02