sql >> データベース >  >> NoSQL >> MongoDB

賛成票/反対票をmongodbに保存する

    MongoDBドキュメントは現在最大16MBに制限されているため、Gilbertの計算が正確であると仮定すると、600万のuser_idすべてを保存することはできません。 s Post 資料。

    ただし、投票をUserに保存することを検討できます。 代わりにドキュメント(つまり、post_id 特定のユーザーが投票したもの)。ユーザーが600万の異なる投稿に投票する可能性ははるかに低いため、この方法ではサイズ制限にすぐに到達することはありません。

    これを処理する別の方法:特定の投稿に多数の投票が予想される場合は、投票をPostの外部に保存することをお勧めします。 別のコレクションにあるドキュメントを作成し、SQL形式の多対多のJOINテーブルと同様に、追加のクエリを実行します。

    user_votes { user_id: ObjectId(...), post_id: ObjectId(...), vote:-1 }
    

    (user_id、post_id)に複合インデックスを作成します。



    1. Hadoopコンバイナーの紹介、動作、および利点

    2. MongoDB Javaドライバーの集約パイプライン実行でタイムアウトを設定する動作は何ですか?

    3. MongoRepositoryの実装/オーバーライドはHATEOASフォーマットを維持します

    4. HDFSディスクバランサーの紹介、操作、機能