投稿関連情報と作成者情報を格納する投稿コレクションがあります。これはネストされたツリーです。次に、どのユーザーが特定の投稿を上または下に評価したかを格納する投稿評価コレクションがあります。
特定の投稿のネストされたツリーを取得するリクエストが行われた場合、現在のユーザーが投票したかどうか、また、投票した場合は、返される各投稿に対して上または下に戻る必要があります。
SQL では、これは「posts.*, postrating.vote from posts join postrating on postID and postrating.memberID=currentUser」のようなものになります。
MongoDB が結合をサポートしていないことは知っています。MongoDB にはどのようなオプションがありますか?
- map reduce - 単純なクエリのパフォーマンスを使用しますか?
- ポスト ドキュメント ストアで評価 - BSON サイズの制限はありますか?
- 必要なすべての投稿のリストを取得します。現在のユーザーによるすべての投票のリストを取得します。投稿をループし、ユーザーが投票した場合はそれを出力に追加しますか?
他に方法はありますか?これは集計を使用して実行できますか?
注: 先週 MongoDB を使い始めました。