2015-09-17 4 views
0

Предположим, мы создаем блог с помощью javscript sdk из Parse.com, где пользователи могут следить за друг другом и иметь фид.Объедините результаты нескольких запросов parse.com

Класс «Follow» содержит указатель на последователя &. В то время как класс 'Post' включает указатель создателя (followee ^).

Если я сейчас хочу получить все строки внутри «Поста», где создатель равен следованию, а пользователь равен следованию внутри класса «Follow»; затем сортируйте их, используя descending ("createdAt"), как это сделать (эффективно)?

Я проверил ссылку апи и там, кажется, не быть однозначным ответом на этот вопрос: https://www.parse.com/docs/js/api/classes/Parse.Query.html

Любой помощи с радостью приветствует. Благодарю.

ответ

2

Это может быть выполнено с использованием compound query, в частности matchesKeyInQuery. Составные запросы учитываются только как 1 запрос API.

Сначала создайте запрос , чтобы найти Follow объекты, в которых запрашивающий пользователь является последователем.

var innerQuery = new Parse.Query("Follow"); 
innerQuery.equalTo("follower", request.user); 

Далее создайте внешний запрос, чтобы найти Post объектов, где их followee ключа совпадает со followee ключа в результатах нашего внутреннего запроса.

var outerQuery = new Parse.Query("Post"); 
outerQuery.descending("createdAt"); 
outerQuery.matchesKeyInQuery("followee", "followee", innerQuery); 

Это даст вам все сообщений, в порядке убывания по дате создания, для всех «followees» следит запрашивающий пользователь.

Cheers,

Рассел

Смежные вопросы