NIFCLOUD-mbaas / UserCommunity

ニフクラ mobile backend ユーザーコミュニティ
https://mbaas.nifcloud.com/
81 stars 18 forks source link

mbaasでフォローの仕組み構築について #367

Open martin1907 opened 8 years ago

martin1907 commented 8 years ago

自分のフォローしているuserを全て取得しテーブルに表示させたいのですが、 mbaassを使用して実現する仕組みが思いつきません。(SQL文ではjoinなどを使用する方法が思いつくのですが)

現在、Followテーブル(クラス)には 「followObjId」 と 「followerObjId」 のフィールどが一づつあります。 フォローをしたタイミングで自分とフォロー相手のObjectIDを「Follow」テーブルに保存しているだけです。

しかし、この方法だとフォロワーの一覧を表示する際に [self reardForwData:objects.count] を人数分だけ呼ぶことになり、毎回フォローの数だけ大量な通信が発生してしまい、フォローが数千などになった時にAPIリクエストが直ぐに膨れ上がってしまいます。

他に実現する良い方法はありますでしょうか?

できればコード付きでお願いできると大変ありがたく思います。

現状のコードは以下のようになります。

よろしくお願いします。

martin1907 commented 8 years ago

こちらはポインタかリレーションを使用して試行錯誤をしていますが、データが取れないため、別に新しいissuesを作成しました。よろしくお願いします。

goofmint commented 8 years ago

幾つか方法はあると思いますが、Followクラスを作るのがシンプルかなと。 include("user") を使って関連データをまとめて取れるかと思います。