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

MongoDB:メッセージングアプリに最適なデザイン

    メッセージングアプリのサンプルデータに基づいて、会話とメッセージの2つのコレクションを作成できます。関係が1つである場合、会話には多くのメッセージがあります。

    Conversation:
    { id: 123
      participants: ['john', 'marry'],
    }
    
    
    Message:
    { sender: 'john', 
      content: 'howdy', 
      time_created: new Date(),
      converstationId: 123
    },
    { sender: 'marry', 
      content: 'good u', 
      time_created: new Date(),
      converstationId: 123 
    },
    

    この場合、2つのアプリケーション(john用に1つ、marry用に1つ)を使用して、2つが同じドキュメントを更新する可能性を処理せずに、新しいドキュメントメッセージを作成する方が適切です。会話セッション。

    また、会話が単一のドキュメントである場合、非常に大きなドキュメントになる可能性があります。 (ドキュメントの成長に関する懸念)

    このmongodbドキュメントのデータモデリングについて詳しく知ることができます

    http://docs.mongodb.org/manual/core/data-modeling-introduction/

    ソーシャルネットワークのユースケースの例/ディスカッションについては、MongoDB:Socialiteも参照してください。

    お役に立てば幸いです。乾杯。




    1. スペースを含むキーを使用してRedisから値を取得するにはどうすればよいですか?

    2. ヨーマン、マングース、およびMongoDBスキャフォールディング

    3. (MongoDB Java)$pushを配列に

    4. MongoDB $ stdDevPop