Вопрос

Я пытаюсь написать запрос Facebook, который вернет все комментарии, опубликованные пользователем его друзьям,

однако, похоже, я не могу найти правильную схему.Это как если бы не было "индексируемых" полей для создания этого.

Пожалуйста, есть какие-нибудь предложения?

С благодарностью,

Контейнер для вина

Это было полезно?

Решение

Косвенный путь для комментариев потока был бы чем-то вроде

select * from comments where fromid = <my_id> and object_id in (
   select post_id from stream where sourceid in (
       select uid1 from friend where uid2 = <my_id> ) )

для фотографий замените средний запрос на

SELECT pid FROM photo WHERE aid IN ( SELECT aid FROM album WHERE owner IN ( ...

К сожалению, настройки безопасности могут ограничить доступ к сообщениям на стене ваших друзей и фотографиям.

Другие советы

Я не верю, что вы можете сделать это прямым способом, как вы описываете.Таблицы FQL обычно индексируются только по ограниченным критериям (я уверен, по соображениям производительности).В случае с Комментарии к таблице FQL, вы можете выбирать комментарии только по идентификатору записи или xid.

К сожалению, это означает, что вы должны знать объекты, которые прокомментировал пользователь, прежде чем сможете получить комментарии к ним.Вы должны были бы предварительно выбрать все посты, фотографии и т.д.к которым вы хотели получить комментарии, прежде чем сможете их восстановить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top