0

FQLを使用してストリームテーブルをクエリし、ニュースフィードアイテムを取得しようとしています。このような:

SELECT post_id, actor_id, target_id, message, created_time 
FROM stream 
WHERE filter_key in 
    (SELECT filter_key 
     FROM stream_filter 
     WHERE uid=me() 
     AND type='newsfeed'
     ) 
AND is_hidden = 0

ここでの提案に従って、私はエポックタイムスタンプ(created_time)を使用して、返されるアイテムの数を制限し、すべてをページングしようとしています(クラッジのように見えますが、それが最善の場合はOKです)。ただし、カットオフを1日ほど前に指定すると(正確なパターンはまだ特定されていません)、nullが返されます。エラーメッセージはありません...「データ」だけです:[]。

過去にストリームテーブルのページ付けに多くの問題があったことは知っていますが、これは古いバグのようです(それがまだバグであり、私の見落としではない場合)。誰かがこれに対処する方法を理解しましたか?filter_keyへの参照をクエリから除外すると、より良い結果を得ることができますが、それを使用する必要があるため、実際には解決策ではありません。

4

1 に答える 1

0

非常によく似た問題があり、削除して修正しました

filter_key in (select filter_key FROM stream_filter WHERE uid=me() AND type='newsfeed' )

私のクエリから。私が最初にしたことは、フィルター キーを取得するためのクエリを実行し、filter_key 文字列を保存して、その後のすべてのクエリで使用することでした。これは私のために働いた

于 2013-02-08T14:04:58.733 に答える