「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Firestore でオブジェクトの配列を効率的に更新するにはどうすればよいですか?

Firestore でオブジェクトの配列を効率的に更新するにはどうすればよいですか?

2024 年 11 月 7 日に公開
ブラウズ:391

How to Efficiently Update Arrays of Objects in Firestore?

Firestore でオブジェクトの配列を更新する

Firestore でオブジェクトの配列を更新するのは簡単なプロセスですが、次のコマンドを使用する必要があります。 Firestore SDK の特定のメソッド。

オブジェクトの配列に新しいレコードを追加するには、arrayUnion() メソッドを使用できます。このメソッドは要素の配列を引数として受け取り、それらの要素が既存の配列に追加されますが、それは要素がまだ存在していない場合に限られます。

次のコードは、arrayUnion() を使用してドキュメント内のsharedWith配列を更新する方法を示しています。 ):

firebase.firestore()
.collection('proprietary')
.doc(docID)
.update({ sharedWith: firebase.firestore.FieldValue.arrayUnion({ who: "[email protected]", when: new Date() }) })

arrayRemove() メソッドは次のようにすることができます。配列から要素を削除するために使用されます。要素の配列を引数として受け取り、指定された各要素のすべてのインスタンスを削除します。

sharedWith 配列から特定の要素を削除するには、次のコードを使用できます:

firebase.firestore()
.collection('proprietary')
.doc(docID)
.update({ sharedWith: firebase.firestore.FieldValue.arrayRemove({ who: "[email protected]" }) })

これらのメソッドは、Firestore で配列を更新する便利で効率的な方法を提供します。指定された要素のみが追加または削除され、配列の残りの部分はそのまま残ります。

最新のチュートリアル もっと>
  • Angular の抽象テキスト コンテンツ
    Angular の抽象テキスト コンテンツ
    Web サイトを開発している場合は、コンポーネント テンプレートに多くのテキストを記述することになるでしょう: このようなテキストを書くことは壊れたりバグがあるわけではありませんが、長期にわたるプロジェクトのメンテナンスにはかなり面倒です。これを改善するには、特定の機能のすべてのテキストを含むファイ...
    プログラミング 2024 年 11 月 8 日に公開
  • 現実世界の機械学習に分散コンピューティングが必要な理由
    現実世界の機械学習に分散コンピューティングが必要な理由
    PySpark がプロのように巨大なデータセットを処理するのにどのように役立つか PyTorch や TensorFlow などの機械学習フレームワークは、モデルの構築に最適です。しかし現実には、巨大なデータセットを扱う現実世界のプロジェクトとなると、単なる優れたモデル以上のものが必要になります。す...
    プログラミング 2024 年 11 月 8 日に公開
  • Go IoT プラットフォームで IoT データの整合性を確保
    Go IoT プラットフォームで IoT データの整合性を確保
    翻訳: Go IoT 開発プラットフォームは、Go プログラミング言語を使用して開発された、無料で効率的かつスケーラブルなモノのインターネット (IoT) ソリューションです。このプラットフォームは、MQTT、HTTP、WebSocket、COAP、TCP/IP などのデータ送信プロトコルをサポート...
    プログラミング 2024 年 11 月 8 日に公開
  • CLI アプリの公開 (Apt および YUM を使用)
    CLI アプリの公開 (Apt および YUM を使用)
    イントロ 私は最近、CLI アプリのファンになっています。おそらくそれは、私の子供時代の端末 (486/33 の DOS や父の古い Apple IIe から始まりました) の魅力なのかもしれません。私は Gen X Commodore64 の時代には少し遅すぎましたが、Windo...
    プログラミング 2024 年 11 月 8 日に公開
  • リアルタイム アプリケーション向けの Supersonic GPU MelSpectrogram
    リアルタイム アプリケーション向けの Supersonic GPU MelSpectrogram
    ここ Simli では、遅延を最も重視しています。結局のところ、私たちが目指しているのは低遅延ビデオです。一方で、オーディオ機械学習で最もよく使用されるアルゴリズムの中には、実装が非常に遅いものもあります。明確にしておきますが、これらの実装は通常、モデル自体の作成やバッチ推論に適しています。しかし、...
    プログラミング 2024 年 11 月 8 日に公開
  • Next.js アプリで「next-sitemap」をインストールして使用する方法: ステップバイステップ ガイド
    Next.js アプリで「next-sitemap」をインストールして使用する方法: ステップバイステップ ガイド
    Next.js を使用して Web サイトを構築している場合は、検索エンジンがページを効率的に検出してインデックスを作成できるようにする必要があるでしょう。このプロセスを改善する 1 つの方法は、サイトマップを作成することです。サイトマップは、ウェブサイト上のすべての URL をリストしたファイルで...
    プログラミング 2024 年 11 月 8 日に公開
  • 例を含む Python スレッド モジュールのクイック ガイド
    例を含む Python スレッド モジュールのクイック ガイド
    導入 Python のスレッド モジュールは、スレッドを作成および管理するための高レベルのインターフェイスを提供し、コードを同時に実行できるようにします。これは、I/O バウンド操作など、並列実行できるタスクに特に役立ちます。以下は、スレッド モジュールで一般的に使用されるメソッド...
    プログラミング 2024 年 11 月 8 日に公開
  • ✨ コントリビューターからコアプロジェクトメンテナーへ: 私のオープンソースの旅 ✨
    ✨ コントリビューターからコアプロジェクトメンテナーへ: 私のオープンソースの旅 ✨
    すべては単純なプルリクエストから始まりました... 私が初めてオープンソースの世界に足を踏み入れたときのことを覚えています。私の当初の目標は、憧れていたプロジェクトの小さな問題を解決することでした。そのわずかな貢献が素晴らしい旅を始めることになるとは、私はほとんど知りませんでした。 ステップ 1: ...
    プログラミング 2024 年 11 月 8 日に公開
  • プログラミングの基礎: C への優しい入門
    プログラミングの基礎: C への優しい入門
    C 言語の基本: 変数と型: データを格納する変数を定義し、型は格納されるデータの型を指定します。入力と出力: printf() は画面に出力し、scanf() はユーザー入力を読み取ります。演算子: 算術演算子と比較演算子を使用して、演算と比較を実行します。制御フロー: if-else と swi...
    プログラミング 2024 年 11 月 8 日に公開
  • 従来の継承を行わずに、ミックスインはどのようにしてクラスの機能を強化するのでしょうか?
    従来の継承を行わずに、ミックスインはどのようにしてクラスの機能を強化するのでしょうか?
    ミックスインを理解する: クラス拡張へのモジュール式アプローチミックスインは、複数のクラスの構成を可能にするソフトウェア デザイン パターンです。基本クラスを直接継承せずに、基本クラスの機能を拡張する方法。この手法は、継承の概念に似ていますが、より柔軟で詳細なアプローチをとっているため、「抽象サブク...
    プログラミング 2024 年 11 月 8 日に公開
  • PHP では JavaScript と同様に匿名オブジェクトを作成できますか?
    PHP では JavaScript と同様に匿名オブジェクトを作成できますか?
    PHP での匿名オブジェクトの作成JavaScript では、匿名オブジェクトを簡単に作成できます。ただし、この手法は PHP にも適用できますか?用語の説明オブジェクトについて説明する場合、「匿名」という用語は完全に正確ではありません。むしろ、それは「匿名型のオブジェクト」と呼ばれるべきです。PH...
    プログラミング 2024 年 11 月 8 日に公開
  • Windows Vista のリリース モードでのみプログラムがクラッシュするのはなぜですか?
    Windows Vista のリリース モードでのみプログラムがクラッシュするのはなぜですか?
    リリース ビルドでのみプログラムがクラッシュする: デバッグの不明点を詳しく調べる独特の「シュレーディンガーの猫」バグに遭遇すると、プログラマは困惑することがあります。この場合、プログラムはリリース モードでビルドされ、コマンド ラインから起動された場合にのみ確実にクラッシュし、不可解な終了通知が残...
    プログラミング 2024 年 11 月 8 日に公開
  • Python ループ 2
    Python ループ 2
    こんにちは、みんな!これは Python ループ シリーズの第 2 部です。 パート 1 はこちら: https://dev.to/coderanger08/python-loops-1-5dho 今週は、while ループと for ループ、break ステートメントと pass ステートメント...
    プログラミング 2024 年 11 月 8 日に公開
  • C++ で異なるコンテナのイテレータを比較できますか?
    C++ で異なるコンテナのイテレータを比較できますか?
    異なるコンテナのイテレータの比較: 注意事項C では、イテレータはコレクションを走査するための強力なメカニズムを提供します。ただし、異なるコンテナのイテレータを使用する場合は、制限事項に注意することが重要です。異なるコンテナのイテレータを比較することが合法かどうかという問題が頻繁に発生します。次の例...
    プログラミング 2024 年 11 月 8 日に公開
  • Spring Boot: Java アプリケーション開発における革命
    Spring Boot: Java アプリケーション開発における革命
    Java で開発している場合は、Spring Boot について聞いたことがあるかもしれません。しかし、まだご存じない方は、Java アプリケーションの作成方法に革命をもたらした最も強力で実用的なツールの 1 つを知る準備をしてください! Spring Boot とは何ですか? Spring Boo...
    プログラミング 2024 年 11 月 8 日に公開

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3