我有很多文件需要上传到我的数据库,我通过浏览器执行此操作,服务器正在调整发送给它的数据的大小问题并拒绝它。在这种情况下,服务器不受我的控制,因此我需要将这些对象分解为较小的对象,然后再将它们发送到服务器以插入数据库(rethinkdb,如果重要的话)。没有他们需要插入的顺序我只需要将文件拆分成更小的部分。
我知道我需要一个循环,但是我不明白我如何循环遍历100个对象,将它们保存为另一个对象将它们发送到服务器,然后从101开始等等......
循环浏览我得到的所有对象,但我无法弄清楚或找到示例。
下面的代码是为了它的目的而工作,但它只到250然后停止,它没有超过那个......
var lineData = jsonData.theData;
var newData = [];
var newLine;
//Shows on the browser console how many objects there are in the data
console.log(jsonData.theData.length);
//Goes through the Data and grabs the first 1000 lines
for(var i = 0; i< 250; i++){
newLine = lineData[i]
newData.push(newLine);
console.log(lineData[i]);
}
答案 0 :(得分:1)
你需要做的就是遍历你的对象和每100个对象,推出你的新阵列并重新开始。如下所示:
var lineData = jsonData.theData;
var newData = [];
for (var i=0; i < lineData.length; i++) {
newLine = lineData[i];
newData.push(newLine);
if (i && !(i % 100)) {
// upload newData
newData = [];
}
}
// check if there's any data left
if (newData.length) {
// upload the remaining data
}