我还在学习如何使用Parse,我正在使用49项来迁移数据库的子集。我读到Parse saveAll应该能够处理70-100批次没有问题,但是当我运行下面的代码时,Parse总是只保存20个项目。
我运行查询以使用.each()绘制所有项目,然后创建新的解析对象并将它们插入到数组中。 一旦each()完成,该数组包含所有49个元素,但是当saveAll运行时,只保存20个项目。
我通过承诺阅读,但我不确定它们如何与saveAll一起使用,此外,这里的大多数人似乎没有与saveAll有任何问题。
我已经将下面的代码作为背景和云功能进行了测试。
Parse.Cloud.job("testEach2", function(request, response) {
var eachQuery = new Parse.Query("test_csv");
var Item = Parse.Object.extend("Item");
var toSave = [];
eachQuery.each(
function(result) {
var item = new Item();
item.set("name",result.get("v_products_name_1"))
console.log(item.name)
toSave.push(item)
}, {success: function(result) {
response.success();
console.log(toSave.length);
Parse.Object.saveAll(toSave).then(function(results){
console.log("Objects were saved!");
response.success("Awesome");
},function(error){
console.log(error);
response.error(error);
});
}, error: function() {} });
});
答案 0 :(得分:0)
只有在response.success();
完成后才能致电Parse.Object.saveAll()
。从您的response.success();
回调中删除第一个success
。