Parse.com通过objectID更新Javascript值

时间:2016-01-26 08:54:16

标签: javascript parse-platform

我尝试更新Parse.com Core中的值,但它根本不起作用。 我有要更新的项目的“objectID”

 Parse.initialize("xxxx", "xxxx");

    var PP = Parse.Object.extend("PP");
    var PP = new PP();

    var query = new Parse.Query(PP);
                        query.equalTo("objectId", "3Enwfu0QPQ");
                        query.first({
                            success: function (PP) {
                                PP.save(null, {
                                    success: function (PP) {

                                        PP.set("free", "100");


                                        PP.save();
                                    }
                                });

                            }
                        });

我想将对象“3Enwfu0QpQ”的“free”值设置为100,但它不起作用。

enter image description here

1 个答案:

答案 0 :(得分:2)

您的代码存在以下问题:

1

var PP = Parse.Object.extend("PP");
var PP = new PP();

根据您的屏幕截图,该类名为“P”,而不是“PP”。你也覆盖了PP对象。

2

var query = new Parse.Query(PP);
query.equalTo("objectId", "3Enwfu0QPQ");
query.first({[...]});

query是无效的,因为PP不再是PP对象。您还应该使用query.get代替equalTo

3

PP.save(null, {
  success: function (PP) {
    PP.set("free", "100");
    PP.save();
  }
});

您正在保存一个空对象,然后编辑同一个对象,然后再次更新它。

您的代码应如下所示(未经测试)。

Parse.initialize("xxxx", "xxxx");

var P = Parse.Object.extend("P");

var query = new Parse.Query(P);
query.get('3Enwfu0QPQ', { // we get the object
  success: function (instance) {
    instance.set("free", "100"); // We update the returned object
    instance.save(); // we save it
  }
});

您也可以这样保存请求:

Parse.initialize("xxxx", "xxxx");

var P = Parse.Object.extend("P");

var instance = new P();
instance.id = '3Enwfu0QPQ';
instance.set("free", "100");
instance.save();