【发布时间】:2019-01-01 11:08:25
【问题描述】:
我正在尝试在 Parse Server 上编写一个简单的云代码函数来更新用户的参数。我的功能如下:
Parse.Cloud.define("updateUser", function(request, response) {
var query = new Parse.Query("User");
query.equalTo("username", request.params.username);
var type = request.params.type;
query.first({
success: function (user) {
user.set("userType", type);
user.save(null, {
success: function (object) {
response.success("SUCCESS");
}, error: function (object, error) {
response.error(error);
}
});
}, error: function (error) {
response.error(error);
}
});
});
这就是我从 Express Node.js 应用程序调用服务器端函数的方式:
Parse.Cloud.run("updateUser", { useMasterKey: true, username: req.body.username, type: req.body.type }, {
success: function(final) {
res.send({ res: "SUCCESS" });
}, error: function(error) {
res.send({ res: error });
}
});
第一个查询返回一个用户,但后续保存抛出“206: cannot modify user”错误。
此功能在我们以前的平台上运行良好,但现在导致 Parse Server 出现问题。
非常感谢任何帮助。
【问题讨论】:
-
你必须使用主密钥,他们改变了你在云代码中使用 parse-server 处理主密钥的方式......检查他们的 github
-
我在调用函数时确实指定了主密钥 - { useMasterKey: true } ...这是根据他们的文档
标签: parse-platform