ファイアストアのベストプラクティス、チャットアプリケーションを開発するとき、チャットルームのメッセージを保存するベストプラクティスは何かを質問したいと思います。firestore:配列とドキュメントのサブコレクションのパフォーマンス
ここでは、すべてのチャットルームに独自のドキュメントがあることを前提としています。
ユーザーからのメッセージを格納するために配列を使い始めました。このアプローチの問題は、新しいメッセージがチャットルームに送信されるたびに、新しいエントリを挿入(追加)する方法がないことです。新しいメッセージが追加されたアレイの新しいコピーを保存する必要があります。チャット履歴がサブアレイなどに分割されていない限り、これは実際に悪いと思われるものです。
公式の文書では、特定のチャットルームのメッセージを別々のドキュメントそのチャットルームのサブコレクションで私はこのアプローチが最高かどうか、何が欠点か、これを行うための別の好ましい方法があるのだろうかと思います。
チャットルームのすべてのメッセージを1つのドキュメントに保存すると、許可されている1MBを超えるサイズのドキュメントにすぐにつながります。配列の使用は、[このブログの投稿](https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html)で説明されているように、マルチユーザー環境では悪い考えです。チャットメッセージごとに別々のドキュメントを使用するのが最も簡単です。ドキュメンテーションがあなたをその方向に導くことを考えれば、なぜ別のアプローチが優れていると思いますか? –
いいえあなたは正しいです、私はちょうどnosqlデータベースの経験がありませんし、私は多くのものを見つける少しconter直感的なmysqlの背景から来て –