解析服务器云代码更新用户
Parse Server Cloud Code Update User
我正在尝试更新解析用户字段,但该函数在其中停止:
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
});
Returns 一个数组,使用 query.first(或从数组中选择一个对象)代替将得到一个对象并允许您在其上设置东西。
我正在尝试更新解析用户字段,但该函数在其中停止:
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
});
Returns 一个数组,使用 query.first(或从数组中选择一个对象)代替将得到一个对象并允许您在其上设置东西。