解析对象未成功编辑

时间:2014-09-27 21:28:12

标签: javascript parse-platform

我正在编写一个函数来查询Parse以查找与相应用户关联的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";
}

然后,我想要使用正在发送的参数更新字段。当该功能运行时,它打印出'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!');

});

1 个答案:

答案 0 :(得分: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!');
    }
  });

});