我试图在云端功能登录时获取用户角色。我知道这是一个非常简单的任务,但我无法解决它。我尝试了文档提到的使用innerQuery
提及的方式,但似乎无法正常工作。由于我比较新,我相信我犯了一个愚蠢的错误。你能指出我的错误吗?
我的功能如下:
Parse.Cloud.define('login', async (req, res) => {
// TODO: put a validation layer here
// if (!req.user) res.error('user undefined');
if (!req.params.email || !req.params.password) res.error('email/password is required');
const userQuery = new Parse.Query(Parse.User);
const roleQuery = new Parse.Query(Parse.Role);
try {
const user = await Parse.User.logIn(req.params.email, req.params.password);
const userRoleQuery = user.relation(Parse.Role).query();
const role = await userRoleQuery.find();
res.success(role);
} catch (error) {
res.error(error);
}
});
附件也是我的_Join:users_Role
表格:
我正在查询第二个用户。
答案 0 :(得分:1)
我不得不承认,我很擅长快速收拾东西。
原来比我想象的要简单。
Parse.Cloud.define('login', async (req, res) => {
if (!req.params.email || !req.params.password) res.error('email/password is required');
const userQuery = new Parse.Query(Parse.User);
const roleQuery = new Parse.Query(Parse.Role);
try {
const user = await Parse.User.logIn(req.params.email, req.params.password);
const userRoleQuery = user.relation(Parse.Role).query();
const role = await userRoleQuery.find();
res.success(role);
} catch (error) {
res.error(error);
}
});
答案 1 :(得分:1)
您也可以这样做:
Parse.Cloud.define('getRole', async (request) => {
const query = await new Parse.Query(Parse.Role).equalTo('users', request.user).find()
return query
})
或者您可以仅在第二行中在客户端中使用它