У меня есть таблица действий, в которой говорится, какие пользователи следует, кто. (fromUser
и toUser
) Я создаю таблицу лидеров, чтобы узнать, кто имеет наибольший рейтинг, среди последователей.Parse: Compound Query on Followers times out
Так что я создал этот вопрос:
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);
Но каким-то образом, это раз, и никогда не отображает результат. Есть ли что-то неэффективное с моим запросом?
Спасибо!
Edit: Описание данных: Activity
класс с 3-мя колоннами, fromUser
, toUser
, type
. fromUser
и toUser
являются указателями на _User
класса, type
является строка
в _User
, у меня есть классические атрибуты, и целое число с именем rating_count
, к которым критерий OrderBy (обновленный код выше).
На самом деле, я думаю, что запрос не истекает, а просто возвращает 0 результатов. Я следую за некоторыми из моих пользователей, поэтому это определенно не ожидаемый результат.
Просьба дополнительно описать данные. В вопросе о соответствующих классах и атрибутах есть несколько советов, но, пожалуйста, укажите их типы (например, fromUser является указателем на __User?) И что они означают (например, fromUser следует за toUser или наоборот?). Я не вижу ссылки на атрибут «рейтинг», который может указывать на текст. – danh
@ dahn: Спасибо за ваши комментарии, я обновил вопрос. Если я следую userB, то fromUser содержит указатель на меня, а toUser содержит указатель userB – Stephane