使用Parse Code Cloud Javascript函数更改Parse列的值

时间:2014-09-01 08:31:00

标签: javascript ios parse-platform cloud-code

所以我第一次写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();

}
})
});

1 个答案:

答案 0 :(得分:3)

事实证明,如上所述,解决起来并不困难。只需使用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();

}


  })

});