我尝试更新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,但它不起作用。
答案 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();