Parse platform 解析修改其他类的云代码

Parse platform 解析修改其他类的云代码,parse-platform,parse-cloud-code,Parse Platform,Parse Cloud Code,好的,我尝试使用afterSave函数来更改单独表中的一些值。在我的设置中,第一个表中更改的对象知道第二个表中的唯一字段。我觉得这个过程应该是:afterSave->调用特定列的get->使用它查询第二个表->设置找到的对象的字段。当我尝试这一点时,一切都没有改变。我真的很感激任何帮助。谢谢大家! Parse.Cloud.afterSave("A", function(request){ var A_obj = request.object if (A_obj.get("Trig

好的,我尝试使用
afterSave
函数来更改单独表中的一些值。在我的设置中,第一个表中更改的对象知道第二个表中的唯一字段。我觉得这个过程应该是:
afterSave
->调用特定列的get->使用它查询第二个表->设置找到的对象的字段。当我尝试这一点时,一切都没有改变。我真的很感激任何帮助。谢谢大家!

Parse.Cloud.afterSave("A", function(request){
    var A_obj = request.object
    if (A_obj.get("TriggerColumn") == "TriggerValue") {
        var B = Parse.Object.extend("B")
        var query = new Parse.Query(B)
        query.equalTo("B_Data", A_obj.get("Known_B_Data"))
        query.find({
            success: function(b_array) {
                var b = b_array[0]
                b.set("B_Other_Data","New Data")
                b.save()
            }
        })
    }
})

您需要查询A_obj的值。因此,if条件必须始终返回false

首先查询您的
A_obj

Parse.Cloud.afterSave("A", function(request){
    var A_obj_query = new Parse.Query("A");
    A_obj_query.get(request.object.id, {
        success: function(A_obj) {
            if (A_obj.get("TriggerColumn") == "TriggerValue") {
                // ...
            }
        },
        error: function(error) {
            // ...
        }
    });
});

最好这样编写代码:

Parse.Cloud.afterSave("A", function(request){
    if (request.object.get("TriggerColumn") == "TriggerValue") {
        var B = Parse.Object.extend("B");
        var query = new Parse.Query(B);
        query.equalTo("B_Data", request.object.get("Known_B_Data"));
        return query.find().then(function(results_B) {
            Parse.Promise.when(results_B.map(function(b) {
                b.set("B_Other_Data","New Data");
                b.save();
            }));
        });
    }
})

我认为您唯一的错误就在这里:
var b=b\u数组[0]

无需从对象A的后存储中查询对象。只需使用
request.object.get(FIELD\u request)返回信息即可。