【问题标题】:Using Parse Cloud Code to remove object from an array使用 Parse Cloud Code 从数组中删除对象
【发布时间】: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.removeuser.delete 不起作用。我想知道是否有另一种方法可以通过 Cloud Code 完成此任务?

谢谢

【问题讨论】:

    标签: javascript ios parse-platform


    【解决方案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)
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多