3

この FQL は、友達の写真を取得しようとしています

[1]

{"query1":"SELECT owner, object_id, src_big FROM photo
WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me())"}

数秒間考えた後、このエラー応答が表示されます...

{"error_code":1,"error_msg":"An unknown error occurred"}

しかし、友人のアルバムを取得するこのクエリは機能し、アルバム情報の JSON オブジェクトを返します

[2]

{"query1":"SELECT aid, owner, name FROM album
WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me())"}

[2] は機能するのに [1] は機能しないのはなぜですか?

4

2 に答える 2

0

確かに、それは奇妙です。しかし、これはあなたが望むことをします:

SELECT owner, object_id, src_big 
FROM photo WHERE aid IN (
     SELECT aid FROM album WHERE owner in (
          SELECT uid2 FROM friend WHERE uid1=me()
     )
)

ページネーションを楽しんでください!

于 2012-12-12T22:30:28.957 に答える
0

クエリ[1]はすべての写真オブジェクトを返しますが、クエリ[2]はアルバム オブジェクトを返します。ほとんどの場合、写真の数はアルバムの数よりもはるかに多くなります。したがって、各友人がそれぞれ 100 枚の写真を含む 10 枚のアルバムを持っている場合、クエリのサイズが大きくなり、FQL はどの形式のページ付けも使用しないため、一度にすべてをプルすることになります。

将来的にマルチクエリを使用するか、LIMITS でバッチを使用することを検討してください

于 2013-06-12T22:38:12.637 に答える