javascript - Parse - Obj-C 到云代码

标签 javascript objective-c parse-platform parse-cloud-code

我正在尝试掌握 Parse.com 的云代码,但这非常困难。我的问题是我想重写一个在云代码中操作数组的查询(javascript)

这是一些代码

PFQuery * quer = [PFQuery queryWithClassName:@"Spel"];
NSString * playerID = [[PFUser currentUser] objectForKey:@"fbid"];
[quer whereKey:@"lobby" containsAllObjectsInArray:@[playerID]];
[quer findObjectsInBackgroundWithBlock:^(NSArray * _Nullable objects, NSError * _Nullable error) {
    for (PFObject * obj in objects) {
        if (!error) {


        NSMutableArray * ready = [[obj objectForKey:@"ready"] mutableCopy];
        if (![ready containsObject:[[PFUser currentUser] objectForKey:@"fbid"]]) {
                [ready addObject:[[PFUser currentUser] objectForKey:@"fbid"]];
        }

        [obj setObject:ready forKey:@"ready"];
        [obj saveInBackgroundWithBlock:^(BOOL succeeded, NSError * _Nullable error) {
            if (succeeded) {
            //success}

我希望在云代码中运行相同的代码,因为这是一个多人游戏,人们同时单击按钮,因此存在数组操作错误的问题。

有哪位好心人知道如何做到这一点?因为感觉比用云代码保存普通对象要复杂一点

亲切的问候, 马丁

最佳答案

看起来代码找到了 Spel 对象,其中当前用户的“fbid”位于 Spel 的“lobby”数组中。对于找到的每一个,将用户的“fbid”添加到 Spel 的“ready”属性中。

在 JS 中你会这样说:

var _ = require('underscore');

Parse.Cloud.define("myCloudFunction", function(request, response) {
    var fbid = request.user.get("fbid");
    var query = new Parse.Query("Spel");
    query.equalTo("lobby", fbid);
    query.find().then(function(results) {
        _.each(results, function(spel) {
            spel.addUnique("ready", fbid);
        });
        return Parse.Object.saveAll(results);
    }).then(function(result) {
        response.success(result);
    }, function(error) {
        response.error(error);
    });
});

关于javascript - Parse - Obj-C 到云代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34978382/

相关文章:

ios - 如何上传录制的音频文件进行解析?

Javascript 和 CSS 适用于 Firefox 但不适用于 IE

javascript - Highchart 未捕获错误 - 未捕获 TypeError : $(. ..).highcharts 不是函数

javascript - 如何使表格内的内容(Fusion Chart LED 仪表图)具有响应性?

ios - NSMutableArray 属性在函数被激发后变为 null

ios - 三元运算符根据变量的值设置值

ios - 无法解析协议(protocol)中的类型

java - 使用指针 parse.com 从两个类获取相同 objectid 的数据

ios - parse.com key 类型无效,需要字符串,但得到数组

javascript - 是否可以使用 Firefox 附加组件删除文件?