使用 Parse Cloud Code 从数组中删除对象
Posted
技术标签:
【中文标题】使用 Parse Cloud Code 从数组中删除对象【英文标题】:Using Parse Cloud Code to remove object from an array 【发布时间】:2014-04-03 20:02:30 【问题描述】:目前我正在使用 Cloud Code 和 masterkey
根据当前用户的操作修改其他用户的属性。我有一个属性requests_from
,并且我已经设法根据以下代码将项目添加到该数组中:
Parse.Cloud.define('requestUser', function(request, response)
var userId = request.params.userId,
requestsFrom = request.params.requestsFrom;
var User = Parse.Object.extend('_User'),
user = new User( objectId: userId );
user.add('requests_from', requestsFrom); //Changed from set to add
Parse.Cloud.useMasterKey();
user.save().then(function(user)
response.success(user);
, function(error)
response.error(error)
);
);
我已使用上述代码将currentUser.objectId
添加到目标用户的requests_from
列。
但是,我现在的问题是从 requests_from
中删除项目。当前用户完成操作后,我想从requests_from
中删除currentUser.objectId
。但是,使用 user.remove
或 user.delete
不起作用。我想知道是否有另一种方法可以通过 Cloud Code 完成此任务?
谢谢
【问题讨论】:
【参考方案1】:如果您还没有解决它,我希望这个答案对您有所帮助!基本上,在研究并没有找到任何东西之后,似乎解决方案是执行以下操作:
Parse.Cloud.define('removeRequest', function(request,response)
var userId = request.params.userId;
var User = Parse.Object.extend('_User'),
user = new User( objectId: userId );
var currentUser = request.user;
var relation = user.relation("request");
relation.remove(currentUser);
Parse.Cloud.useMasterKey();
user.save().then(function(user)
response.success(user);
, function(error)
response.error(error)
);
);
【讨论】:
以上是关于使用 Parse Cloud Code 从数组中删除对象的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 应用程序中更新 PFObject 的密钥时,需要从 Parse Cloud Code 保存和登录时运行代码
将 Java 字符串数组或 JSON 字符串转换为 Javascript 数组(Parse.com Cloud Code 和 Mandrill)
Parse Image + Parse httpRequest 替换——从 Parse Cloud Code 迁移到 Parse Server on Node (Heroku / AWS / DO)
response.error不是Parse Cloud Code中的函数