質問
要するに、私の質問は次のとおりです。ドキュメント内の配列が変更された場合、ユーザーは新しい配列を受け取るのでしょうか、それとも変更だけを受け取るのでしょうか?
その質問が不明な場合は、以下に問題を説明しました。
問題
2 人のユーザーが値をプッシュする配列フィールドを含むドキュメントのコレクションがあります。このコレクション内のドキュメントは次のようになります。
var document = {
userId1: "...user id...", // The id of the first of the two users.
userId2: "...user id...", // The id of the second of the two users.
data: [] // The field the two users will push values to.
}
data
は最初から空であり、ユーザーは順番に値をプッシュします。
ユーザーの 1 人が何らかの値を にプッシュするdata
と、サーバーはその変更を 2 番目のユーザーに送信します。2 番目のユーザーは -array 全体を受け取るのdata
でしょうか、それとも変更 (プッシュされた値) だけを受け取るのでしょうか? data
プッシュされたのは単一の値であるにもかかわらず、2 番目のユーザーが -array 全体を受け取るのではないかと少し心配ですdata
。多くの値が含まれている場合、これがボトルネックになるのではないかと心配しています。
これは事実ですか?そうであれば、値を格納するために別のコレクションを使用すると解決しますよね? このようなもの:
var document = {
id: "...unique id...",
userId1: "...user id...", // The id of the first of the two users.
userId2: "...user id..." // The id of the second of the two users.
}
var documentData = {
idReference: "...the unique id in the document above...",
value: "...a value..."
}
の配列に値をプッシュする代わりに、document
を含むコレクションに値を挿入しますdocumentData
。これには(私は知っています)、最初のソリューションにあると恐れているマイナス面はありません(ただし、マイナス面がない場合は、最初のソリューションを使用します)。