【发布时间】:2014-12-12 10:09:50
【问题描述】:
我在 iOS 中使用 Parse 运行云代码方法,该方法在请求中获取 ID 并在响应中接收数字。
云代码功能的目的是获取请求ID,并将其添加到3个不同用户的字段中。
这里是Javascript中的云代码方法:
amount = 3;
// Use Parse.Cloud.define to define as many cloud functions as you want.
// For example:
Parse.Cloud.define("addToIDs", function(request, response) {
var value = request.params.itemId;
var query = new Parse.Query(Parse.User);
query.ascending("createdAt");
query.limit(100);
query.find({
success: function(results) {
var sent = 0;
for (var i = 0; i < results.length; i++) {
var idlst = results[i].get("idString");
if (idlst != null && idlst.indexOf(value) <= -1) {
idlst += value+"|";
results[i].set("idString", idlst);
results[i].save();
sent = sent+1;
}
if (sent >= amount) {
break;
}
}
response.success(sent);
},
error: function() {
response.error("Test failed");
}
});
});
运行此云代码方法时,我得到“3”的响应,这意味着它为 3 个用户调用了 .save。问题是当我回去查看解析网站中的数据库查看器时,它实际上只更新了一个用户(它总是同一个用户)。无论我运行多少次这段代码,它实际上只会更新第一个用户..
有人知道为什么会这样吗?
【问题讨论】:
标签: javascript ios parse-platform cloud