在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);
只是改变之前的情况。 我没有找到任何浏览网络的东西。
答案 0 :(得分:0)
你想要的不是一种关系(用于多对多或一对多的关系),你想要一个指针(用于一对一的关系)。
这可以通过将列字段从作者关系更改为作者指针来完成。
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)
{
}
});