Firestore で配列を簡単に更新する
Firestore を使用する場合、ドキュメント内の配列を更新する必要が生じる場合があります。これは簡単なタスクのように思えるかもしれませんが、これを完璧に達成するには、Firestore の特定の機能を理解する必要があります。
従来、merge: true または .update() を使用した .set() などの手法を使用して配列を更新しようとすると、多くの場合、次のような結果が得られました。配列の内容を上書きします。ただし、Firestore では、配列要素をシームレスに追加および削除できる 2 つのエレガントな関数を提供しています。
たとえば、次の構造を持つドキュメントがあるとします。
{ proprietary: "John Doe", sharedWith: [ {who: "[email protected]", when: timestamp}, {who: "[email protected]", when: timestamp}, ], }
sharedWith 配列に新しいエントリを追加するには、次の構文を使用できます。
<code class="javascript">firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayUnion( {who: "[email protected]", when: new Date()} ) });</code>
同様に、配列から要素を削除するには、次のメソッドを使用します。
<code class="javascript">firebase.firestore() .collection('proprietary') .doc(docID) .update({ sharedWith: firebase.firestore.FieldValue.arrayRemove({who: "[email protected]"}) });</code>
これらの特殊な機能を利用すると、不要な上書きを心配することなく、Firestore ドキュメント内の配列を自信を持って更新できます。特定のシナリオに関する詳細な例とガイダンスについては、必ず Firestore の公式ドキュメントを参照してください。
以上がFirestore で上書きせずに配列を更新する方法: `arrayUnion` と `arrayRemove` のガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。