我有一个活动表,其中显示哪些用户关注谁。(fromUser
和toUser
)我正在构建一个排行榜,以查看在追随者中发布的评分最高的人。
所以我创建了这个查询:
ParseQuery<ParseObject> queryActivityFollowing = new ParseQuery<>("Activity");
queryActivityFollowing.whereEqualTo("type", "follow");
queryActivityFollowing.whereEqualTo("fromUser", ParseUser.getCurrentUser());
queryActivityFollowing.setLimit(500);
// innerQuery, only get Users posted by the users I follow
ParseQuery<ParseUser> queryUserFollowing = ParseUser.getQuery();
queryUserFollowing.whereMatchesQuery("toUser", queryActivityFollowing);
// querySelf
ParseQuery<ParseUser> querySelf = ParseUser.getQuery();
querySelf.whereEqualTo("objectId", ParseUser.getCurrentUser().getObjectId());
List<ParseQuery<ParseUser>> queries = new ArrayList<>();
queries.add(queryUserFollowing);
queries.add(querySelf);
query = ParseQuery.or(queries);
query.orderByDescending("rating_count");
query.setLimit(20);
但不知何故,它超时并且从不显示结果。我的查询是否效率低下?
谢谢!
编辑:
数据描述:
Activity
是一个有 3 列的类,fromUser
, toUser
, type
。fromUser
并且toUser
是指向_User
类的指针,type
是一个字符串
在 中_User
,我有经典属性和一个名为 的整数rating_count
,它是 orderBy 标准(上面更新了代码)。
实际上,我认为查询不会超时,而只是返回 0 个结果。我关注我的一些用户,所以这绝对不是预期的输出。