Javascript Firebase云FireStore:插入大型阵列

Javascript Firebase云FireStore:插入大型阵列,javascript,firebase,google-cloud-firestore,papaparse,Javascript,Firebase,Google Cloud Firestore,Papaparse,免责声明:我已经编程4个月了,所以我对编程还是很陌生的 我使用Firebase Cloud Firestore作为数据库,并插入包含大量数据的CSV文件。每个文件的长度约为100k条记录。我正在从事的项目需要用户从网页上传这些CSV 我创建了一个文件上传程序,我正在使用PapaParse JS工具解析csv,它做得非常好,它立即返回一个数组,即使它很长。我尝试使用我能找到的最大文件,然后将其记录到控制台,速度非常快 问题是,当我取下它给我的数组,循环遍历它,然后将其插入CloudFireStor

免责声明:我已经编程4个月了,所以我对编程还是很陌生的

我使用Firebase Cloud Firestore作为数据库,并插入包含大量数据的CSV文件。每个文件的长度约为100k条记录。我正在从事的项目需要用户从网页上传这些CSV

我创建了一个文件上传程序,我正在使用PapaParse JS工具解析csv,它做得非常好,它立即返回一个数组,即使它很长。我尝试使用我能找到的最大文件,然后将其记录到控制台,速度非常快

问题是,当我取下它给我的数组,循环遍历它,然后将其插入CloudFireStore。它可以工作,数据是按我想要的方式插入的。但是速度很慢。如果我关闭浏览器窗口,它将停止插入。只插入50条记录大约需要10-15秒。因此,对于10万条记录的文件,这是行不通的

我曾考虑过使用云函数,但在我尝试了解所有这些函数的工作原理之前,也许我只是没有以一种有效的方式来实现这一点?所以我想在这里问一下

这是JS

//在dom中获取文件上载程序
var uploader=document.getElementById('vc-file-upload');
//当文件上载时,请侦听
uploader.addEventListener('change',函数(e){
//获取文件
var file=e.target.files[0];
//解析CSV文件并插入Firestore
const csv=Papa.parse(文件{
标题:对,
完成:功能(结果){
控制台日志(结果);
sim=结果数据;
var simLength=sim.length;
对于(变量i=0;i});如果您只需上传文件(可能到云存储)并在云功能或其他后端执行数据库操作,几乎肯定会更快,即使用户离开应用程序,也会完成操作。

谢谢!我会的。顺便说一句,我喜欢你的教程视频:)谢谢