Javascript 解析服务器云代码更新用户
我正在尝试更新一个解析用户字段,函数在中间停止:Javascript 解析服务器云代码更新用户,javascript,parse-platform,cloud,Javascript,Parse Platform,Cloud,我正在尝试更新一个解析用户字段,函数在中间停止: Parse.Cloud.define("modifyAdminStatus", function(request, response) { var userQuery = new Parse.Query(Parse.User); var isAdmin = request.params.adminStatus; console.log("isAdmin:" + isAdmin); userQuery.equalTo("username", re
Parse.Cloud.define("modifyAdminStatus", function(request, response) {
var userQuery = new Parse.Query(Parse.User);
var isAdmin = request.params.adminStatus;
console.log("isAdmin:" + isAdmin);
userQuery.equalTo("username", request.params.username);
userQuery.find({ useMasterKey: true,
success: function(user) {
console.log(user.length);
console.log("Got User")
console.log(user);
user.set("isAdmin", isAdmin);
console.log("Set Status");
user.save(null, {useMasterKey: true,
success: function(user) {
response.success();
},
error: function(error) {
response.error(error.message);
}
});
},
error: function(error) {
response.error(error.message);
}
});
});
当我运行代码时,我没有得到任何语法错误:
1
Got User
[ ParseUser { _objCount: 2, className: '_User', id: '2vigcitsl6' } ]
在我的控制台里。但是,在我尝试设置管理员状态后,它似乎停止了代码。我曾尝试使用useMasterKey运行它,但没有起到任何作用,因此可能我遗漏了一些东西以及useMasterKey应该放在哪里?当您尝试保存用户时,parse需要两个参数。第一个应该是包含任何更改的对象,第二个应该是保存选项 因此,在您的情况下,只需将保存更改为
user.save(null,{useMasterKey:true,success…})
现在的方式是在Parse.User上创建一个名为useMasterKey的列,如果权限允许的话 答案是:
query.find({
... code here
});
返回一个数组,使用query.first(或从数组中选择一个对象)将获得一个对象,并允许您对其进行设置。我做了更改,但它仍然无法通过控制台的ParseUser行。这很奇怪。我能想到的唯一一件事是isAdmin字段期望您尝试保存的值的不同类型。嗯,不,它看起来是正确的,isAdmin是一个布尔值,我正在尝试将其设置为真/假,我只是检查了所有这些以确定。