Parse Cloud 中的关系替换

Relation replacement in Parse Cloud

在 Parse Cloud 函数中,我需要替换关系的值。 我该怎么做?

这是我的代码:

Parse.Cloud.define
(“myCloudFunction”, function(request, response) {
    // Code to get myObject …….
    // ………
    // Now I have myObject in the hand.
    myObject.relation("author").add(NewAuthor);
});

如果我保留此代码,myObject 将有 2 个作者:OldAuthor(不管是什么)和 NewAuthor。我不要 2 个作者。

我需要先摆脱之前的东西。那么有没有这样的东西:

myObject.relation("author").replace(NewAuthor);

只是改变以前的内容。 我在网上没找到什么

你想要的不是关系(用于多对多或一对多关系),你想要一个指针(用于一对一关系)。

这可以通过将列字段从作者关系更改为作者指针来完成。

Parse.Cloud.define
(“myCloudFunction”, function(request, response) {
    // Code to get myObject …….
    // ………
    // Now I have myObject in the hand.
    myObject.set("author", NewAuthor);
});

或者,您也可以只删除旧作者,然后将新作者添加到关系中。您可以这样做:

var relation = myObject.relation("authors");

var query = relation.query();

query.find(
{
    success: function(oldAuthors)
    {
        // Code to remove all old authors from the relation
        for (var i = 0; i < oldAuthors.length; i++)
        {
            relation.remove(oldAuthors[i]);
        }
        relation.add(newAuthor);
        myObject.save();
    },
    error: function(error)
    {

    }
});