Parse 是否会自动将所有批次保存到 20 个项目?
Does Parse limits saveall batches to 20 items automatically?
我仍在学习如何使用 Parse,并且正在迁移包含 49 个项目的数据库子集。我读到 Parse saveAll 应该能够毫无问题地处理 70-100 个批次,但是每当我 运行 下面的代码时,Parse 总是只保存 20 个项目。
我 运行 使用 .each() 提取所有项目的查询,然后我创建新的解析对象并将它们插入到数组中。
each() 完成后,数组包含所有 49 个元素,但当 saveAll 运行s 时,仅保存 20 个项目。
我通读了 promises,但我不确定它们如何与 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() {} });
});
只有在 Parse.Object.saveAll()
完成后才应调用 response.success();
。从 success
回调中删除第一个 response.success();
。
我仍在学习如何使用 Parse,并且正在迁移包含 49 个项目的数据库子集。我读到 Parse saveAll 应该能够毫无问题地处理 70-100 个批次,但是每当我 运行 下面的代码时,Parse 总是只保存 20 个项目。
我 运行 使用 .each() 提取所有项目的查询,然后我创建新的解析对象并将它们插入到数组中。 each() 完成后,数组包含所有 49 个元素,但当 saveAll 运行s 时,仅保存 20 个项目。
我通读了 promises,但我不确定它们如何与 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() {} });
});
只有在 Parse.Object.saveAll()
完成后才应调用 response.success();
。从 success
回调中删除第一个 response.success();
。