嗨,我有下一个问题:
我在Parse注册了10个用户,用户可以拥有Admin或Player的角色。 我试图让所有用户第一,但是当我尝试时,查询只返回一个(当前用户)。
我如何获得所有用户?然后我如何按角色过滤?
我有下一个代码:
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> objects, ParseException e) {
if (e==null){
Log.i("OK","no problem");
}else{
Log.i("NOT OK","problem");
}
}
});
答案 0 :(得分:2)
老实说,对于像这样简单的事情,最好不要使用关系和单独的类,而只是简单地将一个字符串字段添加到名为&#34; role的用户类中。&#34;所以在Parse上转到你的User类,添加一个名为&#34; role&#34;的String类型的新列。然后按如下方式查询。
ParseQuery<ParseUser> userQuery = ParseUser.getQuery();
userQuery.whereEqualTo("role", "admin");
userQuery.findInBackground(new FindCallback<ParseUser>() {
void done(List<ParseUser> results, ParseException e) {
// results has the list of users who are admins
}
});
答案 1 :(得分:1)
您应该检查每个用户的ACL(readAccess)。用户没有读取权限。其他9个用户可能没有公开阅读,没有指定用户的ID,并且角色没有装备访问权限。
作为A.Vin的回答,如果你的用户有多个角色,你可以使用字符串数组。