2014-09-27 41 views
0

我正在寫一個函數,查詢與各個用戶關聯的matchCenterItem對象的解析,然後編輯該對象的某些屬性。當查詢時,響應(results)返回以這種形式:解析對象沒有成功編輯

<matchCenterItem: 0x7f84e2c1a4b0, objectId: Je1VxP7dPw, localId: (null)> { 
    categoryId = 9355; 
    itemCondition = Used; 
    itemLocation = US; 
    maxPrice = 350; 
    minPrice = 250; 
    parent = "<PFUser: 0x7f84e2c20c10, objectId: kfEHfG4FUD>"; 
    searchTerm = "iphone 5 unlocked"; 
} 

然後我想更新發送與PARAMS領域。當功能運行時,它打印出'MatchCenterItem successfully edited!',但當我檢查儀表板時,該項目根本沒有更新。我錯過了什麼嗎?完整的代碼如下。

Parse.Cloud.define("editMatchCenter", function(request, response) { 

    var matchCenterItem = Parse.Object.extend("matchCenterItem"); 
    var query = new Parse.Query(matchCenterItem); 

    query.contains('searchTerm', request.params.searchTerm); 
    query.equalTo('parent', Parse.User.current()) 

    query.first().then(function(results) { 

    results.set('minPrice', request.params.minPrice); 
    results.set('maxPrice', request.params.maxPrice); 
    results.set('itemCondition', request.params.itemCondition); 
    results.set('itemLocation', request.params.itemLocation); 
    results.save(); 

    }); 

    response.success('MatchCenterItem successfully edited!'); 

}); 

回答

0

改變了代碼到這一點,它現在的作品:

Parse.Cloud.define("editMatchCenter", function(request, response) { 

    var matchCenterItem = Parse.Object.extend("matchCenterItem"); 
    var query = new Parse.Query(matchCenterItem); 

    query.contains('searchTerm', request.params.searchTerm); 
    query.equalTo('parent', Parse.User.current()) 

    query.first({ 
    success: function(results) { 

     results.set('minPrice', request.params.minPrice); 
     results.set('maxPrice', request.params.maxPrice); 
     results.set('itemCondition', request.params.itemCondition); 
     results.set('itemLocation', request.params.itemLocation); 
     results.save(); 

     response.success('MatchCenterItem successfully edited!'); 

    }, 
    error: function() { 
     response.error('MatchCenterItem NAAAAT successfully edited!'); 
    } 
    }); 

});