以下函数似乎只适用于我的当前用户,我在输入中输入的任何其他ObjectId将在控制台中返回Post(错误请求)错误。
var query = new Parse.Query(Parse.User);
var userInput = $('#inputObject').val();
query.equalTo("objectId", userInput);
query.first({
success: function(result) {
console.log(result.id);
result.set('money', 20);
result.save();
},
error: function(error) {
console.log("None found.");
}
});
答案 0 :(得分:1)
这个问题是Parse用户对象只能由当前用户修改。您可以通过创建云代码功能来解决此问题,该功能可修改目标用户的货币价值。请注意,云代码功能必须调用Parse.Cloud.useMasterKey();
Source
CloudCode功能:
Parse.Cloud.define("setMoney", function(request, response) {
Parse.Cloud.useMasterKey();
var query = new Parse.Query(Parse.User);
query.equalTo("objectId", request.params.userId);
query.first({
success: function (result) {
console.log(result.id);
result.set('money', 20);
result.save();
response.success();
},
error: function (error) {
console.log("None found.");
response.error(error);
}
});
});
JavaScript调用
Parse.Cloud.run("setMoney", {userId: userInput}, {
success: function(result) {
// Success
},
error: function(error) {
// Error
}
});