2015-07-13 2 views
0

Мне нужно обновить определенные поля нескольких объектов, хранящихся в классе. Я могу сделать это от клиента, но мне не нравится идея, что он обрабатывает эту дополнительную пропускную способность. Как я могу обновлять и сохранять объекты, которые были обработаны в запросе Cloud Code? По сути, что такое JS-эквивалент следующего метода Swift?Обновление сразу нескольких объектов с помощью кода облака парсеров

var query = PFQuery(className:"GameScore") 
query.whereKey("playerName", equalTo:"Sean Plott") 
query.findObjectsInBackgroundWithBlock { 
    (objects: [AnyObject]?, error: NSError?) -> Void in 

    if error == nil { 
    // The find succeeded. 
    println("Successfully retrieved \(objects!.count) scores.") 
    // Do something with the found objects 
    if let objects = objects as? [PFObject] { 
     for object in objects { 
     // Update object here 
     } 

     // Save your changes to ALL objects 
     PFObject.saveAllInBackground() 
    } 
    } else { 
    // Log details of the failure 
    println("Error: \(error!) \(error!.userInfo!)") 
    } 
} 

ответ

2

Я не уверен, что именно то, что вы пытаетесь сделать, но, возможно, это то, что вы ищете:

Parse.Cloud.define("updateScores", function(request, response) { 
    var query = new Parse.Query("GameScore"); 
    query.equalTo("playerName", "Sean Plott"); 
    query.each(function (object) { 
     // Do something with object 
     object.save(); 
    }).then(function (success) { 
     request.success("OK"); 
    }, function(err) { 
     request.error(err); 
    }); 
}); 
+0

Я пытаюсь обновить несколько объектов с одинаковым значением. Я бы вызвал object.set() для фактического обновления? Скажем, блоггер меняет свое имя пользователя, я хочу обновить каждый из его блогов с обновленным именем пользователя блогера. – chicobermuda

+0

Да, вы можете попробовать object.set («Score», newScore) –

+0

Я получаю '[Ошибка]: успех/ошибка не была вызвана (Код: 141, Версия: 1.7.2)' – chicobermuda

Смежные вопросы