2014-04-03 33 views
2

目前我正在使用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不起作用。我想知道是否有另一種方法通過雲代碼實現此目標?

感謝

回答

0

我希望這個答案可以幫助你,如果你還沒有解決它!基本上,經過研究和找不到任何東西,看起來解決方案是做以下工作:

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) 
    }); 
});