0

ここで説明されている方法を使用して、友達の最新の写真を取得しようとしました: FQL - 今週投稿された友達の写真を取得できますか?

最初は正常に動作しているように見えましたが、友人の写真の一部がより高いタイムスタンプを持っていても取得されていないことに気付きました (写真は写真FQL テーブルの作成されたフィールドで並べ替えられていました)...後少しデバッグして、問題があることに気付きました

SELECT aid FROM album WHERE owner IN 
  (SELECT uid2 FROM friend WHERE uid1=me()

友達の ID の短いリストを渡すと、それらは正しくソートされますが、完全なリストを渡すと、すべての友達がクエリ結果に含まれるわけではありません...

これが機能しない理由はありますか?「SELECT XXX FROM YYY WHERE ZZZ IN (?)」クエリで渡すことができる値の数に制限はありますか?

事前にアドバイスをありがとう

4

1 に答える 1

2

制限は、FQLクエリの任意の部分で返される約5000レコードのようです。

友達が5000人未満の場合、クエリを変更してmodified_major、関心のある期間に写真が追加されたアルバムのみを返すように列を検査することで、返されるアルバムの数を減らすことができます。または、列を見て、modifiedアルバムの変更を返すこともできます。

aidまた、そのように見え、pid非推奨への道を進んでいます。新しい開発ではobject_id、互換性を最大化するために使用する必要があります。

したがって、2012-10-01以降に写真が更新されたすべてのアルバムを取得するには、次のクエリを使用できます。

SELECT object_id FROM album WHERE owner IN 
  (SELECT uid2 FROM friend WHERE uid1=me()) AND modified_major > 1349049600

外部クエリでとに変更aidしますalbum_object_idpidobject_id

于 2012-10-18T14:28:00.790 に答える