1. ホーム
  2. データベース

[解決済み】{merge: true}のあるセットとupdateの違いについて

2022-04-08 17:27:51

質問

クラウドファイアーストア は、3つの書き込み操作があります。

1) 追加

2) 設定する

3) 更新

ドキュメントによると set(object, {merge: true}) は、オブジェクトを既存のものとマージします。

を使用した場合も同様です。 update(object) では、もし違いがあるとすれば、それは何でしょうか?googleがロジックを重複させるのはおかしいと思うのですが。

解決方法は?

私が理解した方法は、「違い」です。

  • set なく merge は、ドキュメントを上書きするか、またはドキュメントがまだ存在しない場合は作成します。

  • setmerge は、ドキュメントのフィールドを更新するか、 存在しない場合は作成します。

  • update はフィールドを更新しますが、 ドキュメントが存在しない場合は失敗します。

  • create はドキュメントを作成しますが、ドキュメントが既に存在する場合は失敗します。

に提供するデータの種類にも違いがあります。 setupdate .

について set は、常に文書型のデータを提供する必要があります。

set(
  {a: {b: {c: true}}},
  {merge: true}
)

update を使用すると、ネストされた値を更新するためにフィールドパスを使用することもできます。

update({
  'a.b.c': true
})