解析云代码 - 使用指向父级的指针查询子级

时间:2014-09-13 01:49:31

标签: parse-platform cloud-code

我有一个父对象“Listing”(想想房地产列表),可以有多个子对象“Image”。

我正在尝试实施一个Cloud Code函数,该函数在归档父级时将所有子对象标记为已存档。

由于某种原因,查询结果始终为空。我不明白为什么。我每次都会出现“错误:图像未定义”错误。

Image类有一个指向Listing的指针,但是从Listing到Image没有任何关系。

Parse.Cloud.afterSave("Listing", function(request) {

    Parse.Cloud.useMasterKey();

    // Handle archiving. If a listing is marked as archived, mark the image as archived also.

    query = new Parse.Query("Image");
    query.equalTo("listing", request.object);

    query.first({
        success: function(image) {

            if (typeof image != "undefined") {
                image.archived(request.object.get("archived"));
                image.save();

                console.log("Done");
            }
            else {
                console.log("Error: image undefined.");
            }
        },
        error: function(error) {
            console.error("Got an error " + error.code + " : " + error.message);
        },
    });
);

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

我已经能够使用以下内容实现此目的:

Parse.Cloud.afterSave("Listing", function(request) {

    Parse.Cloud.useMasterKey();

    // Handle archiving. If a listing is marked as archived, mark the image as archived also.

    query = new Parse.Query("Image");
    query.equalTo("listing", request.object);

    query.find({
        success: function(images) {

            if (typeof images != "undefined") {

                for (i = 0 ; i < images.length; i++) {

                    var theImage = images[i];
                    theImage.set("archived", request.object.get("archived"));
                    theImage.save();
                }

                console.log("Done");
            }
            else {
                console.log("Error: image undefined.");
            }
        },
        error: function(error) {
            console.error("Got an error " + error.code + " : " + error.message);
        },
    });
);