Javascript 解析云中的关系替换

Javascript 解析云中的关系替换,javascript,parse-platform,cloud,Javascript,Parse Platform,Cloud,在解析云函数中,我需要替换关系的值。 我该怎么做 这是我的密码: Parse.Cloud.define (“myCloudFunction”, function(request, response) { // Code to get myObject ……. // ……… // Now I have myObject in the hand. myObject.relation("author").add(NewAuthor); }); 如果我保留这段代码,my

在解析云函数中,我需要替换关系的值。 我该怎么做

这是我的密码:

Parse.Cloud.define
(“myCloudFunction”, function(request, response) {
    // Code to get myObject …….
    // ………
    // Now I have myObject in the hand.
    myObject.relation("author").add(NewAuthor);
});
如果我保留这段代码,myObject将有两个作者:OldAuthor(不管是什么)和NewAuthor。我不想要两个作者

我需要先把以前的东西处理掉。那么有没有这样的事情:

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)
    {

    }
});
var-relation=myObject.relation(“作者”);
var query=relation.query();
查询.查找(
{
成功:功能(老作者)
{
//用于从关系中删除所有旧作者的代码
对于(var i=0;i
山姆回答的第一部分正是我所需要的。