この質問は主にサニティチェックです。私はストーリーの集まりとユーザーの集まりによってDBを構成しました。各話には、その対象に投票した「有権者」の配列があります。各ユーザーには、「友人」の配列もあります。私がしたいことは、友人が投票した話だけを検索することですが、さらに、その項目に投票している友人の数でこれらを並べ替えることができるようになります。MongoDBでは、配列フィールドにユーザー名を含むストーリーのみに基づいてストーリーコレクションをクエリする方法はありますか?
私の最初の考えはこれです:ストーリーオブジェクト内の有権者のフィールドにインデックスを付ける。次に、ユーザーの文書から「友人」の配列を使用して、この索引付けされた投票者フィールド上のストーリーについてのマップを減らし、各ストーリーの出現回数をカウントするグループ化関数を使用してマップを作成しますか?それが正しいかどうかわからない。これが拡大するかどうかもわからない。思考と提案が高く評価されている。
答えをありがとう、それはうまくスケールされていない計算上複雑な問題のようです。このような問題は、別のデータベースシステムを使用して簡単に解決できると思いますか? – Inc1982
np。ええ、これは関係性の高い問題だと思うので、RDBMSは簡単になります。 RDBMSは、最適化できる関係を見つけることができます:この場合、友人の集合は交差点を計算し、並べ替えを行うために使用されます。私はどちらが良いか分かりません。質問は、2つの異なるdbシステムを使用するかどうかです... – mnemosyn