0

在我的 Companies 类中,我有一个名为 Ratings 的列类型的数组,它包含指向 Ratings 类的指针,其中包含公司的评级。这是一对多的关系,一家公司有几个评级。

当我尝试通过向公司添加新评级来更新数据时,我无法保留旧数据。相反,它会覆盖它。

这是我保存新评级的代码:

function addRating(id, rating) {
    var Companies = Parse.Object.extend("Companies");
    var Ratings = Parse.Object.extend("Ratings");

    var company = new Companies({
        objectId: id,
        ratings: [new Ratings({stars: rating})]
    });
    company.save();
}

显然它用指向新添加评级的指针覆盖了当前评级字段,是否可以将它添加到数组的末尾?我是否必须首先使用查询检索以前的值,然后在旧评级数组上添加新评级?我对此很陌生,所以我很迷茫。

提前感谢您提供的任何帮助。

4

1 回答 1

0

解决了我的问题,这段代码现在对我有用:

function addRating(id, rating) {
    var Companies = Parse.Object.extend("CompaniesArray");
    var Ratings = Parse.Object.extend("RatingsArray");

    var company = new Companies({
         objectId: id
    });

    var rated = new Ratings({stars: rating});
    rated.save({
      success: function() {
        alert('success');
        company.addUnique("ratings", rated);    
        company.save({
            success: function() {
                alert('success');
            },
            error: function(error) {
                console.log(error.message);
            }
        });
    },
    error: function(error) {
        console.log(error.message);
    }          
  });
}

我需要先保存评级,然后使用 .addUnique 方法将其附加到公司

于 2013-05-18T15:54:49.167 回答