ホームページ > ウェブフロントエンド > jsチュートリアル > Firestore で上書きせずに配列を更新する方法: `arrayUnion` と `arrayRemove` のガイド

Firestore で上書きせずに配列を更新する方法: `arrayUnion` と `arrayRemove` のガイド

Patricia Arquette
リリース: 2024-10-25 08:08:02
オリジナル
425 人が閲覧しました

How to Update Arrays in Firestore Without Overwriting: A Guide to `arrayUnion` and `arrayRemove`

Firestore で配列を簡単に更新する

Firestore を使用する場合、ドキュメント内の配列を更新する必要が生じる場合があります。これは簡単なタスクのように思えるかもしれませんが、これを完璧に達成するには、Firestore の特定の機能を理解する必要があります。

従来、merge: true または .update() を使用した .set() などの手法を使用して配列を更新しようとすると、多くの場合、次のような結果が得られました。配列の内容を上書きします。ただし、Firestore では、配列要素をシームレスに追加および削除できる 2 つのエレガントな関数を提供しています。

  • arrayUnion(): 要素を選択的に配列に追加し、重複を確実に回避します。
  • arrayRemove(): 配列から指定された要素のすべての出現を効率的に削除します。

たとえば、次の構造を持つドキュメントがあるとします。

{
  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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート