选择阿里云作为服务商时,服务空间资源完全免费,每个账号最多允许创建50个服务空间。阿里云目前处于公测阶段,如有正式业务对稳定性有较高要求建议使用腾讯云。
选择腾讯云作为服务商时,可以创建一个免费的服务空间,资源详情参考腾讯云免费额度;如想提升免费空间资源配额,或创建更多服务空间,则需付费购买。
付费用户享受腾讯云提供的服务协议SLA,详见
uniCloud的腾讯云版的定价、套餐内容、服务SLA,是由腾讯公司直接公布的。DCloud公司不会加价,包括开发者通过DCloud充值也会直接充到开发者在腾讯云建立的子账户下。DCloud只从腾讯云等云厂商获取返佣,也不会在未来加价收割开发者。
uniCloud提供包月、按量计费两种计费方式(仅腾讯云),具体说明如下:
计费方式 | 付费方式 | 计费单位 |
---|---|---|
包月 | 预付费 | 参考 腾讯云包月套餐 |
按量计费 | 结算时冻结费用,每日结算 | 参考 腾讯云按量计费 |
阿里云的服务空间是纯免费的。但为避免资源滥用,有一些限制,见下。
资源类目 | 限制 | 说明 |
---|---|---|
云函数并发限制 | 1000个实例/服务空间 | 实际普通项目很难达到这个并发数,阿里云可以设置单实例多并发单实例最多100,理论最大并发量1000*100=100000 (10万),关于单实例多并发请参考:单实例多并发 |
每个服务空间的云函数数量 | 48个 | 实际项目中由于clientDB和单路由云函数,只会用到几个云函数,达不到限制数字。详见 |
云函数定时触发最小间隔 | 1小时 | - |
云存储容量 | 10GB | - |
单次数据库执行时长限制 | 1秒 | 不可申请调整 |
尤其注意阿里云的cdn确实是全免费的,这些免费资源可用于正常公司业务,阿里云不允许开发者使用这些免费的存储及CDN资源来开展图床类业务。
除上面的描述外,阿里云没有其他限制。
因为阿里云免费向DCloud提供了硬件资源,所以DCloud也没有向开发者收费。如果阿里云后续明确了收费计划,DCloud也会第一时间公布在这里。
如有超大型应用突破阿里云资源限制,请发邮件到service@dcloud.io请求协助,可以特批扩大资源。
申请邮件内需要提供以下信息
公司信息 // 个人用户无须此项
负责人
联系电话
公司介绍 // 个人用户无须此项
业务场景 // 与申请资源相关的业务场景,包括应用名称及发布平台
用户规模
申请spaceId
申请资源 // 要具体到申请资源量,例如:云存储要写明申请多大、定时触发要写明申请的触发频率
申请日期
腾讯云针对每个账号提供了一个有免费额度的服务空间,以方便产品开发测试及体验。具体额度请阅读下方腾讯云付费版包月套餐中的免费版。
免费额度注意事项:
自动降配注意事项:
包月套餐是指每个月的支付固定价格,购买一定量的服务器资源。
如果资源超限,则相应资源不可使用。需立即升配套餐。
包月套餐支持升配、降配。以满足资源用量上升或下降的价格调整需求。具体操作见web控制台 (opens new window)的购买套餐界面。
注意:腾讯云在 2021年1月21日进行了业务调整,下线了基础版1套餐(原免费版),同步上线了新的免费版和特惠基础版1,满足不同场景下的用户需求,免费版套餐适用于产品测试及产品体验场景。 本次调整不会影响现已开通基础版1套餐(原免费版)的服务空间,但新开通的免费服务空间、付费套餐自动降配到的免费服务空间均会使用新免费版的资源额度。
自2021年3月12日后,在按量计费环境内,如果当日有资源使用,且产生的计费金额不足0.01元,将补齐按照0.01元收取。
针对享有免费额度的按量计费环境:
- 如果该环境用量未超出免费额度,该环境仍为免费环境。
- 如果该环境用量已经超出免费额度,且超量资源产生的计费金额不足0.01元,将补齐按照0.01元收取。
腾讯云单次数据库执行时长限制为5秒,超出5秒会超时
资源分类 | 资源细项 | 基础版1(已下线) | 免费版 | 特惠基础版 | 基础版2 | 专业版1 | 专业版2 | 旗舰版1 |
---|---|---|---|---|---|---|---|---|
云存储 | 容量 | 5GB | 5GB | 8GB | 10GB | 50GB | 100GB | 500GB |
下载操作次数 | 150万/月 | 2000/月 | 10万/月 | 200万/月 | 750万/月 | 1500万/月 | 3750万/月 | |
上传操作次数 | 60万/月 | 1000/月 | 5万/月 | 100万/月 | 300万/月 | 600万/月 | 1500万/月 | |
CDN 回源流量 | 5GB/月 | 1GB/月 | 2GB/月 | 10GB/月 | 50GB/月 | 150GB/月 | 500GB/月 | |
CDN | CDN 流量 | 5GB/月 | 1GB/月 | 2GB/月 | 25GB/月 | 50GB/月 | 150GB/月 | 500GB/月 |
云函数 | 资源使用量 GBs | 4万/月 | 1000/月 | 1万/月 | 20万/月 | 40万/月 | 150万/月 | 400万/月 |
外网出流量 | 1GB/月 | 1GB/月 | 1GB/月 | 3GB/月 | 5GB/月 | 10GB/月 | 25GB/月 | |
云函数并发限制 | 1000个/云函数 | 1000个/云函数 | 1000个/云函数 | 1000个/云函数 | 1000个/云函数 | 1000个/云函数 | 1000个/云函数 | |
函数数量限制 | 49个 | 9个 | 49个 | 79个 | 99个 | 99个 | 149个 | |
云函数url化数量限制 | 10个 | 10个 | 10个 | 50个 | 90个 | 100个 | 120个 | |
固定外网 IP | × | × | √ | √ | √ | √ | √ | |
数据库 | 容量 | 2GB | 2GB | 2GB | 3GB | 5GB | 10GB | 10GB |
同时连接数 | 20个 | 5个 | 20个 | 50个 | 100 | 200个 | 400个 | |
读操作数 | 5万/天 | 500/天 | 5万/天 | 25万/天 | 50万/天 | 150万/天 | 500万/天 | |
写操作数 | 3万/天 | 300/天 | 3万/天 | 15万/天 | 30万/天 | 100万/天 | 300万/天 | |
集合数量限制 | 100个 | 15个 | 50个 | 150个 | 200个 | 300个 | 400个 | |
备份保留天数 | 7天 | 7天 | 14天 | 14天 | 14天 | 14天 | 14天 | |
售价(元/月) | - | 免费 | 免费 | 6.9 | 30 | 104 | 390 | 860 |
腾讯云完整套餐列表请参考:腾讯云完整套餐列表
除了资源配量不同外,注意只有付费版才有 固定外网IP。如需在微信网页里调用js sdk,需要配置固定外网ip。
部分指标说明
按量计费,意味着不是每个月支付固定套餐,而是根据使用量付费。
按量付费需要预存一定金额,每日根据前一日资源消耗生成账单,从预存金额中扣除。
如果预存金额不足,则服务空间将不可用,需要立即充值。
按量付费目前仅企业认证用户可以开通,个人用户无法购买。
腾讯云按量计费服务空间定价如下:
资源分类 | 资源细项 | 售价(元) |
---|---|---|
云存储 | 容量(GB/天) | 0.0043 |
下载操作次数(万次) | 0.01 | |
上传操作次数(万次) | 0.01 | |
CDN 回源流量(GB) | 0.15 | |
CDN | CDN 流量(GB) | 0.18 |
云函数 | 资源使用量(GBs) | 0.00011108 |
外网出流量(GB) | 0.8 | |
函数数量限制 149个 | ||
支持固定外网 IP | ||
云函数url化数量限制 150个 | ||
数据库 | 容量(GB/天) | 0.07 |
读操作数(万次) | 0.015 | |
写操作数(万次) | 0.05 | |
同时连接数1000个 | ||
集合数量限制800个 | ||
备份保留天数14天 | ||
支持指定回档时间 | ||
前端网站托管 | 容量(GB/天) | 0.0043 |
流量(GB) | 0.21 |
注意
关于云函数1000并发的说明
以云函数运行(计费时间)200ms为例,1000并发的云函数,每秒处理1000*(1/0.2) = 5000次请求,即QPS为5000
资源项 | 使用限制 |
---|---|
云存储容量 | 5GB |
云存储下载次数限制 | 2000次/月 |
云存储上传次数限制 | 1000次/月 |
云存储CDN回源流量 | 1GB/月 |
云存储CDN流量 | 1GB/月 |
云函数资源用量 | 1GB/月 |
云函数外网出流量 | 1GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 9个 |
云函数支持固定出口IP | × |
云函数url化数量限制 | 10个 |
数据库容量 | 2GB |
数据库同时连接数 | 5个 |
数据库读操作数 | 500次/天 |
数据库写操作数 | 300次/天 |
数据库集合数量限制 | 15个 |
备份保留天数 | 7天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 8GB |
云存储下载次数限制 | 10万次/月 |
云存储上传次数限制 | 5万次/月 |
云存储CDN回源流量 | 2GB/月 |
云存储CDN流量 | 2GB/月 |
云函数资源用量 | 2GB/月 |
云函数外网出流量 | 1GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 49个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 10个 |
数据库容量 | 2GB |
数据库同时连接数 | 20个 |
数据库读操作数 | 5万次/天 |
数据库写操作数 | 3万次/天 |
数据库集合数量限制 | 50个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 10GB |
云存储下载次数限制 | 200万次/月 |
云存储上传次数限制 | 100万次/月 |
云存储CDN回源流量 | 10GB/月 |
云存储CDN流量 | 25GB/月 |
云函数资源用量 | 25GB/月 |
云函数外网出流量 | 3GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 79个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 50个 |
数据库容量 | 3GB |
数据库同时连接数 | 50个 |
数据库读操作数 | 25万次/天 |
数据库写操作数 | 15万次/天 |
数据库集合数量限制 | 150个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 5GB |
云存储下载次数限制 | 150万次/月 |
云存储上传次数限制 | 60万次/月 |
云存储CDN回源流量 | 5GB/月 |
云存储CDN流量 | 5GB/月 |
云函数资源用量 | 5GB/月 |
云函数外网出流量 | 3GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 50个 |
数据库容量 | 5GB |
数据库同时连接数 | 100个 |
数据库读操作数 | 50万次/天 |
数据库写操作数 | 30万次/天 |
数据库集合数量限制 | 200个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 5GB |
云存储下载次数限制 | 150万次/月 |
云存储上传次数限制 | 60万次/月 |
云存储CDN回源流量 | 5GB/月 |
云存储CDN流量 | 5GB/月 |
云函数资源用量 | 5GB/月 |
云函数外网出流量 | 5GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 50个 |
数据库容量 | 3GB |
数据库同时连接数 | 50个 |
数据库读操作数 | 25万次/天 |
数据库写操作数 | 15万次/天 |
数据库集合数量限制 | 150个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 50GB |
云存储下载次数限制 | 750万次/月 |
云存储上传次数限制 | 300万次/月 |
云存储CDN回源流量 | 50GB/月 |
云存储CDN流量 | 50GB/月 |
云函数资源用量 | 50GB/月 |
云函数外网出流量 | 5GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 90个 |
数据库容量 | 5GB |
数据库同时连接数 | 100个 |
数据库读操作数 | 50万次/天 |
数据库写操作数 | 30万次/天 |
数据库集合数量限制 | 200个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 50GB |
云存储下载次数限制 | 750万次/月 |
云存储上传次数限制 | 300万次/月 |
云存储CDN回源流量 | 50GB/月 |
云存储CDN流量 | 500GB/月 |
云函数资源用量 | 500GB/月 |
云函数外网出流量 | 3GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 90个 |
数据库容量 | 3GB |
数据库同时连接数 | 50个 |
数据库读操作数 | 25万次/天 |
数据库写操作数 | 15万次/天 |
数据库集合数量限制 | 150个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 100GB |
云存储下载次数限制 | 1500万次/月 |
云存储上传次数限制 | 600万次/月 |
云存储CDN回源流量 | 150GB/月 |
云存储CDN流量 | 150GB/月 |
云函数资源用量 | 150GB/月 |
云函数外网出流量 | 10GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 100个 |
数据库容量 | 10GB |
数据库同时连接数 | 200个 |
数据库读操作数 | 150万次/天 |
数据库写操作数 | 100万次/天 |
数据库集合数量限制 | 300个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 10GB |
云存储下载次数限制 | 200万次/月 |
云存储上传次数限制 | 100万次/月 |
云存储CDN回源流量 | 10GB/月 |
云存储CDN流量 | 25GB/月 |
云函数资源用量 | 25GB/月 |
云函数外网出流量 | 25GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 70个 |
数据库容量 | 10GB |
数据库同时连接数 | 200个 |
数据库读操作数 | 150万次/天 |
数据库写操作数 | 100万次/天 |
数据库集合数量限制 | 300个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 10GB |
云存储下载次数限制 | 200万次/月 |
云存储上传次数限制 | 100万次/月 |
云存储CDN回源流量 | 10GB/月 |
云存储CDN流量 | 25GB/月 |
云函数资源用量 | 25GB/月 |
云函数外网出流量 | 10GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 70个 |
数据库容量 | 50GB |
数据库同时连接数 | 400个 |
数据库读操作数 | 500万次/天 |
数据库写操作数 | 300万次/天 |
数据库集合数量限制 | 400个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 300GB |
云存储下载次数限制 | 2500万次/月 |
云存储上传次数限制 | 1000万次/月 |
云存储CDN回源流量 | 300GB/月 |
云存储CDN流量 | 300GB/月 |
云函数资源用量 | 300GB/月 |
云函数外网出流量 | 20GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 110个 |
数据库容量 | 20GB |
数据库同时连接数 | 300个 |
数据库读操作数 | 300万次/天 |
数据库写操作数 | 200万次/天 |
数据库集合数量限制 | 400个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 100GB |
云存储下载次数限制 | 1500万次/月 |
云存储上传次数限制 | 600万次/月 |
云存储CDN回源流量 | 150GB/月 |
云存储CDN流量 | 3072GB/月 |
云函数资源用量 | 3072GB/月 |
云函数外网出流量 | 5GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 100个 |
数据库容量 | 5GB |
数据库同时连接数 | 100个 |
数据库读操作数 | 50万次/天 |
数据库写操作数 | 30万次/天 |
数据库集合数量限制 | 200个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 500GB |
云存储下载次数限制 | 3750万次/月 |
云存储上传次数限制 | 1500万次/月 |
云存储CDN回源流量 | 500GB/月 |
云存储CDN流量 | 500GB/月 |
云函数资源用量 | 500GB/月 |
云函数外网出流量 | 25GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 149个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 50个 |
数据库容量 | 10GB |
数据库同时连接数 | 400个 |
数据库读操作数 | 500万次/天 |
数据库写操作数 | 300万次/天 |
数据库集合数量限制 | 400个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 50GB |
云存储下载次数限制 | 750万次/月 |
云存储上传次数限制 | 300万次/月 |
云存储CDN回源流量 | 50GB/月 |
云存储CDN流量 | 150GB/月 |
云函数资源用量 | 150GB/月 |
云函数外网出流量 | 100GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 90个 |
数据库容量 | 20GB |
数据库同时连接数 | 300个 |
数据库读操作数 | 300万次/天 |
数据库写操作数 | 200万次/天 |
数据库集合数量限制 | 400个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 50GB |
云存储下载次数限制 | 750万次/月 |
云存储上传次数限制 | 300万次/月 |
云存储CDN回源流量 | 50GB/月 |
云存储CDN流量 | 50GB/月 |
云函数资源用量 | 50GB/月 |
云函数外网出流量 | 25GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 90个 |
数据库容量 | 200GB |
数据库同时连接数 | 500个 |
数据库读操作数 | 5000万次/天 |
数据库写操作数 | 3000万次/天 |
数据库集合数量限制 | 800个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 500GB |
云存储下载次数限制 | 3750万次/月 |
云存储上传次数限制 | 1500万次/月 |
云存储CDN回源流量 | 500GB/月 |
云存储CDN流量 | 10240GB/月 |
云函数资源用量 | 10240GB/月 |
云函数外网出流量 | 10GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 99个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 110个 |
数据库容量 | 10GB |
数据库同时连接数 | 200个 |
数据库读操作数 | 150万次/天 |
数据库写操作数 | 100万次/天 |
数据库集合数量限制 | 300个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 700GB |
云存储下载次数限制 | 4500万次/月 |
云存储上传次数限制 | 2000万次/月 |
云存储CDN回源流量 | 600GB/月 |
云存储CDN流量 | 1000GB/月 |
云函数资源用量 | 1000GB/月 |
云函数外网出流量 | 100GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 149个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 130个 |
数据库容量 | 50GB |
数据库同时连接数 | 500个 |
数据库读操作数 | 1000万次/天 |
数据库写操作数 | 500万次/天 |
数据库集合数量限制 | 500个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 1000GB |
云存储下载次数限制 | 5000万次/月 |
云存储上传次数限制 | 2500万次/月 |
云存储CDN回源流量 | 800GB/月 |
云存储CDN流量 | 2000GB/月 |
云函数资源用量 | 2000GB/月 |
云函数外网出流量 | 200GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 149个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 110个 |
数据库容量 | 100GB |
数据库同时连接数 | 500个 |
数据库读操作数 | 2000万次/天 |
数据库写操作数 | 1000万次/天 |
数据库集合数量限制 | 600个 |
备份保留天数 | 14天 |
资源项 | 使用限制 |
---|---|
云存储容量 | 1300GB |
云存储下载次数限制 | 6000万次/月 |
云存储上传次数限制 | 3000万次/月 |
云存储CDN回源流量 | 1000GB/月 |
云存储CDN流量 | 4000GB/月 |
云函数资源用量 | 4000GB/月 |
云函数外网出流量 | 400GB/月 |
云函数并发限制 | 1000/云函数 |
云函数数量限制 | 199个 |
云函数支持固定出口IP | √ |
云函数url化数量限制 | 900个 |
数据库容量 | 200GB |
数据库同时连接数 | 500个 |
数据库读操作数 | 5000万次/天 |
数据库写操作数 | 3000万次/天 |
数据库集合数量限制 | 800个 |
备份保留天数 | 14天 |
当你的线上系统故障时,可以参考此文档判断责任归属:如何判断是DCloud或阿里云或腾讯云的问题
目前可以使用云数据库的导入导出进行迁移,迁移数据库之前可以使用导出db_init.json功能将所有集合及索引导出。再使用数据导入导出功能进行迁移。导入导出请参考:数据导入导出和备份
也可以直接使用第三方封装好的插件:unicloud数据库一键搬家工具,支持阿里云与腾讯云互转。支持跨账号转。 (opens new window)
迁移数据可以通过在腾讯云服务空间导出数据表为json文件,在阿里云服务空间导入json文件到表的方式进行迁移。
由于此前腾讯云并未完全支持ObjectId类型的数据,在阿里云迁移到腾讯云时需要注意处理一下ObjectId
类型的数据,包括自动生成的_id字段以及关联到其他表的_id的字段。简单来说就是将导出的数据内的ObjectId类型的数据处理成字符串且不满足ObjectId的格式。
例:
// 原始数据
{"_id":{"$oid":"60fa6d25cd84d60001ec38a2"},"uid":{"$oid":"60fa6d1d2e5faa0001ade857"}}
// 调整后的数据
{"_id":"60fa6d25cd84d60001ec38a2a","uid":"60fa6d1d2e5faa0001ade857a"} // 在结尾追加了一个“a”使其不满足ObjectId格式
以下为一个简单的脚本示例用于处理导出的json文件
如果将此文件存储为parse.js
,使用node parse.js 输入文件相对或绝对路径 输出文件相对或绝对路径
即可处理导出的json文件
const fs = require('fs')
const path = require('path')
const readline = require('readline')
const cwd = process.cwd()
const inputPath = path.resolve(cwd, process.argv[2])
const outputPath = path.resolve(cwd, process.argv[3])
if (fs.existsSync(outputPath)) {
throw new Error(`输出路径(${outputPath})已存在`)
}
function getType(val) {
return Object.prototype.toString.call(val).slice(8, -1).toLowerCase()
}
function parseRecord(obj) {
const type = getType(obj)
switch (type) {
case 'object':
if (obj.$oid) {
return obj.$oid + 'a'
}
const keys = Object.keys(obj)
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
obj[key] = parseRecord(obj[key])
}
return obj
case 'array':
for (let i = 0; i < obj.length; i++) {
obj[i] = parseRecord(obj[i])
}
return obj
default:
return obj
}
}
async function parseCollection() {
const inputStream = fs.createReadStream(inputPath)
const outputStream = fs.createWriteStream(outputPath)
const rl = readline.createInterface({
input: inputStream
});
for await (const line of rl) {
const recordStr = line.trim()
if (!recordStr) {
continue
}
const record = parseRecord(JSON.parse(recordStr))
outputStream.write(JSON.stringify(record) + '\n')
}
rl.close()
console.log(`处理后的文件已输出到${outputPath}`)
}
parseCollection()