Open n1gg opened 8 years ago
ユーザのIDを配列にして、一度に複数ユーザ分取得することはできるかと思います。
http://mb.cloud.nifty.com/doc/current/datastore/basic_usage_javascript.html#基本的なクエリのオペランド
後はグループ機能を使ってできないかなぁと思ったこともあるのですが試してはいません。
@moongift
ユーザのIDを配列にして、一度に複数ユーザ分取得する
ありがとうございます! 確かに2度めのリクエスト、ループを回す必要はありませんね。
後はグループ機能を使って
ドキュメントに見当たらなかったのですが、どちらの機能になるでしょうか?
@n1gg ロールですね>グループ http://mb.cloud.nifty.com/doc/current/user/manage_privileges_javascript.html
この辺りを使って、自分が閲覧権限のあるポストだけ取得できないかなーと思ったことがあります。フォローした/されたタイミングでグループにユーザを追加する感じで。
@moongift
なるほど。
とはいえその場合も
・role.fetchUser()
でフォローユーザーの一覧を取得
・その結果をもとにポストを取得
という形となり2クエリ発行するのを避けるのは難しそうですね…!
ポインターを使ってフォロー/フォロワーの仕組みを構築する | BACKEND AS A SERVICE mbaas BLOG http://blog.mb.cloud.nifty.com/?p=7457
こちらの記事下部で「フォローしているユーザーの一覧(follows)」を取得していますが、さらに「followsの投稿(post)一覧」まで取得するケースを考えています。
すぐに思いついたのは ・followsをループで回し、各followユーザーをポインターとして持つpostを検索 のように1度目のリクエスト結果をもとに追加でリクエストを投げる方法でしたが、(例えば1度のリクエストで全て取得出来るような)より効率の良い方法はあるでしょうか?
非同期処理の複雑性を避けるため、できる限り無駄なリクエストをなくしたいと思っております。アドバイスよろしくお願い致します。