使用 Parse Code Cloud Javascript 函数更改 Parse 列的值
Posted
技术标签:
【中文标题】使用 Parse Code Cloud Javascript 函数更改 Parse 列的值【英文标题】:Changing values of Parse column using Parse Code Cloud Javascript function 【发布时间】:2014-09-01 08:31:00 【问题描述】:所以这是我第一次编写 javascript,所以请多多包涵。我编写这个函数是为了在我的 Parse.com 应用程序中查询一个类,然后在查询后我想将其中一列(布尔类型)设置为 true。
为了进行测试,我设置了一个只有 7 个值的测试类。
问题:7 个中只有 3 个正在更改。每次保存后我必须等待吗?我知道在 Javascript 中等待/休眠是“错误的”,但我似乎找不到解决方案。
提前致谢!
另外,在使用 ios/Parse 时,我想检查布尔值是否在 Objective-C 中未定义,我已经尝试将其与 nil/NULL 进行比较,抛出异常
Parse.Cloud.define("setYears", function(request, response)
var object = new Parse.Query("testClass");
object.find(
success: function(results)
for (var i = 0; i < results.length; i++)
results[i].set("testBool",true);// = true;
results[i].save(null,
success:function ()
response.success("Updated bool!");
,
error:function (error)
response.error("Failed to save bool. Error=" + error.message);
);
;
response.success();
)
);
【问题讨论】:
解决这个问题非常困难 :) 解析中确实是一团糟。请注意,当您第一次获得“响应”时,它将完成所有事情。您可能想在groups.google.com/forum/#!forum/parse-developers 群中提问... 我感觉事情没那么简单。谢谢你告诉我。 也许你可以帮忙做另一件事,我想检查一下在 Objective-C 中布尔值是否未定义,我已经尝试将它与 nil/NULL 进行比较,抛出异常。你知道其他方法吗? :) 【参考方案1】:事实证明,如上所述,解决起来并不难。只需要使用 saveAll 而不是自己保存每个对象。如果有人需要,这是正确的解决方案:
Parse.Cloud.define("setYears", function(request, response)
var object = new Parse.Query("testClass");
object.find(
success: function(results)
for (var i = 0; i < results.length; i++)
results[i].set("testBool",true);// = true;
Parse.Object.saveAll(results,
success: function(list)
// All the objects were saved.
response.success("ok " ); //saveAll is now finished and we can properly exit with confidence :-)
,
error: function(error)
// An error occurred while saving one of the objects.
response.error("failure on saving list ");
,
);
response.success();
)
);
【讨论】:
以上是关于使用 Parse Code Cloud Javascript 函数更改 Parse 列的值的主要内容,如果未能解决你的问题,请参考以下文章
将 Parse Cloud Code 与 Parse Server Heroku 一起使用
如何使用 Cloud Code 删除 Parse.com 中的角色
response.error不是Parse Cloud Code中的函数